簡體   English   中英

數據庫連接錯誤C# - > OracleDB

[英]Error in Database connection C# -> OracleDB

我嘗試從c#項目連接到OracleDB。

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

在運行代碼時會拋出一個exeption:

System.Data.dll中發生了'System.Data.SqlClient.SqlException'類型的第一次機會異常
建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確,以及SQL Server是否配置為允許遠程連接。 (提供程序:SQL網絡接口,錯誤:25 - 連接字符串無效)

我嘗試連接本地mysql數據庫,並拋出相同的exeption。
我可以使用Oracle SQL開發人員工具連接到服務器。

問題出在哪兒 ?

您正在使用SqlConnection(SQL Server)連接到Oracle數據庫。 有關如何連接到Oracle數據庫的信息,請參閱以下答案:

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

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

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

您正在使用SqlConnection類。 此類用於連接到Microsoft的SQL Server數據庫。

由於您使用的數據庫是Oracle的數據庫,因此您需要一個“Oracle”特定的連接類。

可以使用OracleDBConnection類,但這是不可取的,因為它已被棄用

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

希望這可以幫助!!!

您正在使用MS SQL服務器的連接器,不要這樣做。 您應該使用的唯一驅動程序 ,您可以在NuGet上獲得Oracle Managed ODP.NET驅動程序 文檔可在此處獲得。

確保使用托管驅動程序,而不是非托管驅動程序。

使用它的例子:

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

嘗試使用NuGet的ODP.Net驅動程序。

按照這里的說明:
從c#連接到oracle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM