数据库连接错误C# - > OracleDB的

时间:2014-07-09 14:21:41

标签: c# sql oracle

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

SqlConnection thisConnection = new SqlConnection(
"Server=127.0.0.1:3306;Database=db1;User id=abc;Password=psw;");

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

  

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

我尝试连接本地mysql db并抛出相同的exeption 我可以使用Oracle SQL开发人员工具连接到服务器。

问题出在哪里?

4 个答案:

答案 0 :(得分:2)

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

https://stackoverflow.com/a/12568350/2382032

正如弗林德伯格所指出的,这是NuGet链接:

https://www.nuget.org/packages/odp.net.managed/

答案 1 :(得分:1)

您正在使用SqlConnection课程。此类用于连接到Microsoft的SQL Server数据库。

由于您正在使用的数据库是Oracle的数据库,因此您需要一个Oracle' Oracle'具体的连接类。

可以使用OracleDBConnection类,但 不建议使用

相反,您可以使用提供的 ODP.NET &由Oracle支持。

希望这有帮助!!!

答案 2 :(得分:0)

您正在使用MS SQL服务器的连接器,请不要这样做。您应该在NuGet上获得Oracle Managed ODP.NET driver的唯一驱动程序。 Documentation is available here.

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

使用它的例子:

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

答案 3 :(得分:0)

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

按照此处的说明进行操作:
link