[英]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。 幾點:
請確保引用正確,並且Oracle.DataAccess.dll具有正確的版本。
請按照以下步驟操作。 它為我工作。
在Oracle安裝路徑上的“ <> product \\ 12.2.0 \\ client_1”中找到並復制oraons.dll文件
將該文件粘貼到'<> 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.