数据库连接C#->;出错;OracleDB
我尝试从c#项目连接到OracleDB 运行代码时会抛出一个exeption:数据库连接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
“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
}