簡體   English   中英

ODAC:對象引用未設置為對象的實例

[英]ODAC: Object reference not set to an instance of an object

我正在嘗試連接到Oracle Express 11g。 我將ODAC 12c與Visual Studio 2015一起使用。這是我嘗試連接的方式:

OracleConnection con;
con = new OracleConnection("User Id=SYSTEM;Password=manager;Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.22)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = XE)))");
con.Open();

應用程序崩潰並給出Exception (不是OracleException ): Object reference not set to an instance of an object. 如果未設置連接字符串,它將按預期方式提供OracleException 怎么了?

OracleConnection使用Oracle.DataAccess DLL(不建議使用,請閱讀有關ODP.net的信息)

您可能必須安裝oracle客戶端11g才能提供必需的DLL。 幾點:

  1. 確保正確配置了tns
  2. 通過您的構建設置(32/64位)安裝ora客戶端
  3. 確保將DLL參考添加到解決方案中。

請確保引用正確,並且Oracle.DataAccess.dll具有正確的版本。

請按照以下步驟操作。 它為我工作。

  1. 在Oracle安裝路徑上的“ <> product \\ 12.2.0 \\ client_1”中找到並復制oraons.dll文件

  2. 將該文件粘貼到'<> product \\ 12.2.0 \\ client_1 \\ bin目錄中

嘗試再次調用代碼。

請嘗試以下解決方案:

string connString = "User Id=SYSTEM;Password=manager;Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.22)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = XE)))";

OracleConnection conn = new OracleConnection();
conn.ConnectionString = connString;
conn.Open();

有關更多信息: C#中的Oracle Connection-連接字符串

暫無
暫無

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

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