最近使用 R 開發數據分析系統,需要連接Oracle數據庫獲取數據,但是又不想為了拿幾個數據而裝一個Oracle,所以就想直接找個Oracle的odbc驅動,免去安裝Oracle客戶端的麻煩。以下對安裝過程作個記錄,希望對大家有所幫助。
首先,我們需要下載兩個驅動:
instantclient-odbc-win32-11.2.0.1.0 和 instantclient-basiclite-win32-11.2.0.1.0。
地址:http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html
因為下載Oracle的產品一般都需要先注冊,所以我直接放網盤上了,如果嫌注冊麻煩的朋友可以從這裡下載:odbc驅動,提取密碼:j9yr
(如果百度雲盤失效的話還有微盤:odbc驅動,提取密碼:P0GG)
先把 basiclite 解壓出來,得到一個 instantclient_11_2 文件夾。然後把 odbc 裡面的文件解壓到 instantclient_11_2 目錄下(別搞錯了順序!)。如下圖:
把Oracle數據庫所在的上的NETWORK文件夾拷貝到剛才解壓出來的 instantclient_11_2 目錄下。(其實也可以從任何一台裝有Oracle的電腦上拿)
我隔壁的電腦裝有Oracle,它的NETWORK文件夾在 G:\app\John\product\11.2.0\dbhome_1
修改 NETWORK\ADMIN\tnsnames.ora 文件:在文檔末尾加上下面幾行代碼
ORCL81 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 100.100.100.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
注:把100.100.100.100改成你要連接數據庫的所在 IP,另外 ORCL81 和 orcl 可以改一下。特別注意別漏了括號或者多了空格什麼的,這段代碼要求很嚴格,很可能因為多了一個空格而連接不成功。這段代碼在 tnsnames.ora 一般也有,可以直接復制粘貼,然後修改一下 IP 。
步驟四:
添加環境變量TNS_ADMIN,路徑指向 ADMIN 目錄。如下圖:
步驟五:
運行 instantclient_11_2 目錄下的 odbc_install.exe ,將會出現一個 DOS 窗口一閃而過。。
步驟六:
大功告成,去配置數據源吧!
打開ODBC數據源管理器 -> 系統DNS -> 添加,彈出“創建新數據源”窗口,選擇 Oracle in instantclient_11_2 開始新建數據源!