Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据库连接C#->;出错;OracleDB_C#_Sql_Oracle - Fatal编程技术网

数据库连接C#->;出错;OracleDB

数据库连接C#->;出错;OracleDB,c#,sql,oracle,C#,Sql,Oracle,我尝试从c#项目连接到OracleDB 运行代码时会抛出一个exeption: “System.Data.SqlClient.SqlException”类型的第一次意外异常 发生在System.Data.dll中与网络相关或 建立到的连接时发生特定于实例的错误 SQL Server。找不到服务器或无法访问服务器。验证 实例名称正确且SQL Server配置为 允许远程连接。(提供程序:SQL网络接口,错误:25 -连接字符串无效) 我尝试连接本地mysql数据库,但抛出了相同的exeption

我尝试从c#项目连接到OracleDB

运行代码时会抛出一个exeption:

“System.Data.SqlClient.SqlException”类型的第一次意外异常 发生在System.Data.dll中
与网络相关或 建立到的连接时发生特定于实例的错误 SQL Server。找不到服务器或无法访问服务器。验证 实例名称正确且SQL Server配置为 允许远程连接。(提供程序:SQL网络接口,错误:25 -连接字符串无效)

我尝试连接本地mysql数据库,但抛出了相同的exeption。
我可以使用Oracle SQL developer工具连接到服务器


问题出在哪里?

您使用的是
SqlConnection
类。此类用于连接到Microsoft的
SQL Server
数据库

由于您使用的数据库是Oracle的数据库,因此需要一个特定于“Oracle”的连接类

您可以使用
OracleDBConnection
类,但这是不可取的,因为它已被弃用

相反,您可以使用Oracle提供和支持的


希望这有帮助

您正在使用SqlConnection(SQL Server)连接到Oracle数据库。请参阅以下有关如何连接到Oracle数据库的答案:

正如Flindeberg指出的,以下是NuGet链接:


您正在使用MS SQL server的连接器,请不要这样做。您应该使用的唯一驱动程序,可以在NuGet获得

确保使用托管驱动程序,而不是非托管驱动程序

使用它的示例:

var connection = new OracleConnection(str);
using (var command = new OracleCommand(commandStr, connection))
{
   // do stuff with command
}

尝试使用NuGet的ODP.Net驱动程序


按照此处的说明操作:

OracleDB
使用SqlConnection???。您知道
SqlConnection
用于
sqlserver
请注意,这种连接方法已被贬低:System.Data.oracleClient已被贬低感谢您指出这一点。我忘了它已经被弃用了。相应地编辑了我的答案!!!呃,不,那是非托管驱动程序,不要使用那个。从大约一年前开始,他们就有了一个托管驱动程序(即.NET)。我链接到的答案与你的答案有一个链接。不过谢谢,我会用nuget链接更新我的答案。我希望他们能回到我必须连接到Oracel的那一天!现在我可以连接到服务器,但登录失败。我是否必须用特殊字符将pasword括起来,或者它是这样工作的:“User ID=username;Password=asd;…”?我在这里看到的每个示例都没有用引号括起来:
var connection = new OracleConnection(str);
using (var command = new OracleCommand(commandStr, connection))
{
   // do stuff with command
}