1. 程式人生 > >oracle odbc 驅動安裝(不安裝oracle客戶端)

oracle odbc 驅動安裝(不安裝oracle客戶端)

最近做了一個專案,通過VC odbc訪問oracle資料庫,在我電腦上可以正常執行,在其他電腦上執行不了,原因是沒有oracle odbc驅動,無法配置oracle資料來源。網上的博文大都是安裝oracle客戶端來解決的。我想就是一個小程式,沒必要安裝客戶端吧,參照網上博文並訪問了oracle網址,於是有了這篇文章。

1、下載odbc驅動

需要下載兩個東西

instantclient-basiclite-nt-12.1.0.1.0.zip
instantclient-odbc-nt-12.1.0.1.0.zip

網址:http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html

由於時間推移,版本號會更新,網址也會變化。所以大家可以百度 oracle instantclient basiclite 關鍵詞,然後再搜尋結果中找見oracle官方網站,進行下載。下載時需要同意協議並是oracle註冊使用者,使用者註冊是免費的。

2、解壓縮這兩個檔案到同一個資料夾
 a、分別解壓縮這兩個檔案
 b、解壓縮後兩個資料夾裡面都有instantclient_12_1目錄,將odbc的instantclient_12_1目錄下的內容拷貝到basicclient下的instantclient_12_1裡面
 c、為了使目錄整齊簡介,將basicclient下的instantclient_12_1目錄拷貝到D:\Program Files\instantclient_12_1


3、將oracle資料庫所在電腦上的NETWORK目錄拷貝到instantclient_12_1目錄下,我oracle伺服器所在電腦的network在D:\oraclexe\app\oracle\product\11.2.0\server這個位置。

4、修改NETWORK\ADMIN\tnsnames.ora檔案,將主機名換成IP地址。下面例子當中10.17.176.138以前是oracle資料庫所在電腦上的主機名。主機名可能無法正確連線,所以換成IP地址。

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.176.138)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

5、新增環境變數TNS_ADMIN,變數值指向ADMIN目錄,我的配置是D:\Program Files\instantclient_12_1\NETWORK\ADMIN

6、雙擊instantclient_12_1目錄下的odbc_install.exe完成安裝。注:安裝時出現DOC框,並一閃而過,你可能無法判斷是不是正確安裝。其實你可以cmd進入instantclient_12_1目錄,並.\odbc_install.exe手動安裝。

8、配置資料來源並測試
為了不影響測試,首先將oracle資料庫所在電腦的防火牆關閉,或允許例外TCP 1521埠。配置客戶端電腦,控制面板->資料來源->使用者DSN->新增中選擇Oracle in instantclient_12_1,TNS Service Name中選擇資料庫名,我的名字是XE,點Test Connection,如果提示成功就OK了。

9、防止亂碼
在安裝資料庫的電腦上(我的oracle是安裝在window上的),檢視HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_XXX下的NLS_LANG值,其中XXX是。。。,我也說不清楚,應該是資料庫名吧。
在客戶端電腦上增加環境變數NLS_LANG,其值是在上面得到的NLS_LANG值。我伺服器的NLS_LANG是SIMPLIFIED CHINESE_CHINA.ZHS16GBK