C#(.Net) 连接 ORACLE数据库
使用oracle_instantclient連接ORACLE數(shù)據(jù)庫
oracle_instantclient在PL/SQL訪問數(shù)據(jù)庫時是非常方便的,只需要在PL/SQL的Refreence中配置Oracle Home和OCI Libary指定oracle instantclient目錄和oci.dll文件即可訪問數(shù)據(jù)庫。開發(fā)的時候使用該方法同樣是可以做到的。需要配置環(huán)境變量,在PATH路徑中加入oracle instantclient目錄(%ORACLE_HOME%),加入TNS_ADMIN為%ORACME%/Network/Admin,在該目錄下為ORACLE的TNS配置。這樣就可以通過Visual Stdio訪問數(shù)據(jù)庫了。需要記住的是,配置了環(huán)境變量需要重起開發(fā)環(huán)境。
?
使用ORACLE Client連接ORACLE數(shù)據(jù)庫
在安裝了ORACLE客戶端軟件之后,一般在注冊表中已經(jīng)注冊了ORACLE_HOME環(huán)境變量,如
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraClient11g_home1
這是我安裝了ODP.NET 11.2.0.1.2之后在注冊表中存在了,該是安裝也會在PATH環(huán)境變量中加入該目錄以及BIN目錄。這樣就需要在該客戶端中Network/Admin添加tnsnames.ora文件,并添加TNS。
?
1、System.Data.OracleClient 需要 Oracle 客戶端軟件 8.1.7 或更高版本。
該問題是因為OracleClient庫找不到一個可用的客戶軟件,所以出現(xiàn)這樣的錯誤,網(wǎng)上有因為程序路徑有特殊字符也可能導(dǎo)致該是問題,或者權(quán)限問題,只要OracleClient(Data Provider)找不到數(shù)據(jù)庫訪問庫,就會出現(xiàn)這個錯誤。
在oracle instantclient方式中,如果沒有配置PATH環(huán)境變量,將會出現(xiàn)該錯誤。一般情況下,安裝了客戶端是不會出現(xiàn)該是問題的。
?
2、ORA-12154: TNS:could not resolve the connect identifier specified
該錯誤是庫沒有找到連接庫中的TNS名稱,該問題在安裝客戶端之后,沒有添加tnsnames.ora(安裝時沒有該文件,需要托運(yùn)設(shè)置),添加正確的配置之后應(yīng)該是可以訪問的,當(dāng)然,對于instantclient方式,需要添加TNS_ADMIN環(huán)境變量(記得重啟開發(fā)環(huán)境)。
?
另外,我是在VS2010開發(fā)環(huán)境下測試的,因為VS2010是使用.NET 4,并沒有oracleclient庫,需要將項目的.NET環(huán)境修改低一些,就可以添加該庫,并做測試了。
?
版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
轉(zhuǎn)載于:https://www.cnblogs.com/yin138/archive/2010/09/07/4902265.html
總結(jié)
以上是生活随笔為你收集整理的C#(.Net) 连接 ORACLE数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我收集的学习网址,O(∩_∩)O~
- 下一篇: 使用C#进行Word 2002和Exce