http://www.th7.cn/db/Oracle/201407/61179.shtml
oracleodbc驅(qū)動(dòng)安裝(不安裝oracle客戶(hù)端)
2014-07-03 11:42:37--點(diǎn)擊數(shù):18
最近做了一個(gè)項(xiàng)目,通過(guò)VC odbc訪問(wèn)oracle數(shù)據(jù)庫(kù),在我電腦上可以正常運(yùn)行,在其他電腦上運(yùn)行不了,原因是沒(méi)有oracle odbc驅(qū)動(dòng),無(wú)法配置oracle數(shù)據(jù)源。網(wǎng)上的博文大都是安裝oracle客戶(hù)端來(lái)解決的。我想就是一個(gè)小程序,沒(méi)必要安裝客戶(hù)端吧,參照網(wǎng)上博文并訪問(wèn)了oracle網(wǎng)址,于是有了這篇文章。
1、下載odbc驅(qū)動(dòng)
需要下載兩個(gè)東西
instantclient-basiclite-nt-12.1.0.1.0.zip
instantclient-odbc-nt-12.1.0.1.0.zip
網(wǎng)址:http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html
由于時(shí)間推移,版本號(hào)會(huì)更新,網(wǎng)址也會(huì)變化。所以大家可以百度 oracle instantclient basiclite 關(guān)鍵詞,然后再搜索結(jié)果中找見(jiàn)oracle官方網(wǎng)站,進(jìn)行下載。下載時(shí)需要同意協(xié)議并是oracle注冊(cè)用戶(hù),用戶(hù)注冊(cè)是免費(fèi)的。
2、解壓縮這兩個(gè)文件到同一個(gè)文件夾
a、分別解壓縮這兩個(gè)文件
b、解壓縮后兩個(gè)文件夾里面都有instantclient_12_1目錄,將odbc的instantclient_12_1目錄下的內(nèi)容拷貝到basicclient下的instantclient_12_1里面
c、為了使目錄整齊簡(jiǎn)介,將basicclient下的instantclient_12_1目錄拷貝到D:/Program Files/instantclient_12_1
3、將oracle數(shù)據(jù)庫(kù)所在電腦上的NETWORK目錄拷貝到instantclient_12_1目錄下,我oracle服務(wù)器所在電腦的network在D:/oraclexe/app/oracle/product/11.2.0/server這個(gè)位置。
4、修改NETWORK/ADMIN/tnsnames.ora文件,將主機(jī)名換成IP地址。下面例子當(dāng)中10.17.176.138以前是oracle數(shù)據(jù)庫(kù)所在電腦上的主機(jī)名。主機(jī)名可能無(wú)法正確連接,所以換成IP地址。
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.176.138)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
5、添加環(huán)境變量TNS_ADMIN,變量值指向ADMIN目錄,我的配置是D:/Program Files/instantclient_12_1/NETWORK/ADMIN
6、雙擊instantclient_12_1目錄下的odbc_install.exe完成安裝。注:安裝時(shí)出現(xiàn)DOC框,并一閃而過(guò),你可能無(wú)法判斷是不是正確安裝。其實(shí)你可以cmd進(jìn)入instantclient_12_1目錄,并./odbc_install.exe手動(dòng)安裝。
8、配置數(shù)據(jù)源并測(cè)試
為了不影響測(cè)試,首先將oracle數(shù)據(jù)庫(kù)所在電腦的防火墻關(guān)閉,或允許例外TCP 1521端口。配置客戶(hù)端電腦,控制面板->數(shù)據(jù)源->用戶(hù)DSN->添加中選擇Oracle in instantclient_12_1,TNS Service Name中選擇數(shù)據(jù)庫(kù)名,我的名字是XE,點(diǎn)Test Connection,如果提示成功就OK了。
9、防止亂碼
在安裝數(shù)據(jù)庫(kù)的電腦上(我的oracle是安裝在window上的),查看HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_XXX下的NLS_LANG值,其中XXX是。。。,我也說(shuō)不清楚,應(yīng)該是數(shù)據(jù)庫(kù)名吧。
在客戶(hù)端電腦上增加環(huán)境變量NLS_LANG,其值是在上面得到的NLS_LANG值。我服務(wù)器的NLS_LANG是SIMPLIFIED CHINESE_CHINA.ZHS16GBK
聯(lián)系客服