如何在linux下用R語言通過odbc訪問oracle

一、下載安裝包

  1. http://www.unixodbc.org/
    下載文件:unixODBC-2.3.4.tar.gz
  2. Oracle ODBC Driver
    http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
    (根據(jù)系統(tǒng)需求進oracle官網(wǎng)下載相應(yīng)版本)
    下載文件:
    oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
    oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
    oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm
    oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

二、 安裝
1、 安裝unixODBC
以root的身份運行:
tar –zxvf unixODBC-2.3.4.tar.gz
cd unixODBC-2.3.4
./configure --prefix=/usr/local/unixODBC-2.3.4 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc
make
make install
安裝成功后,unixODBC所需的頭文件都被安裝到了/usr/inlucde下彪腔,編譯好的庫文件安裝到了/usr/lib下,與unixODBC相關(guān)的可執(zhí)行文件安裝到了/usr/bin下,配置文件放到了/etc下穗熬。
2、 安裝數(shù)據(jù)庫ODBC驅(qū)動
在ubuntu下用alien丁溅,在centos下用rpm安裝oracle的四個包唤蔗。

進入oracle的安裝目錄(/usr/lib/x64/oracle/)
chmod 775 odbc_update_ini.sh
./odbc_update_ini.sh /etc(沒有提示表示安裝成功)
其中,odbc_update_ini.sh參數(shù)說明:
參數(shù)1:unixODBC安裝路徑窟赏。
參數(shù)2:驅(qū)動安裝的絕對路徑(可選)妓柜。
默認為運行腳本的路徑。
參數(shù)3:驅(qū)動名(可選)涯穷,默認為Oracle 11g ODBC driver棍掐。
參數(shù)4:數(shù)據(jù)源名稱(可選)。
運行完成后將添加一個DNS條目到$HOME/.odbc.ini ,/etc/odbcinst.ini,名稱為:OracleODBC-11g

三拷况、 設(shè)置環(huán)境變量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x64/oracle/instantclient_11_2:/usr/local/lib
PATH=$PATH:/usr/local/bin
TNS_ADMIN(如果安裝有oracle軟件那么對應(yīng)的就是$ORACLE_HOME/network/admin/目錄作煌,如果沒有安裝相應(yīng)oracle軟件掘殴,需要指定tnsnames.ora所在的目錄,可選)
NLS_LANG(設(shè)定合適的字符集粟誓,可選)
LANG(系統(tǒng)字符編碼奏寨,可選)
/etc/profile (注意前面的英文句號,點號后面有空格) 將環(huán)境變量注冊.

一般來說鹰服,在centos里面你可以通過在/etc/ld.so.conf.d/目錄下建一個新文件來實現(xiàn)
文件的名字是xxxx.conf病瞳,比如oracleinstantclient.conf
里面的內(nèi)容就是目錄:比如/usr/local/lib,可參考其他文件
建好后悲酷,運行l(wèi)dconfig仍源,就可以把ld新配置裝載進系統(tǒng)了

四、 配置本地服務(wù)名(tnsnames.ora)
按環(huán)境變量中TNS_ADMIN的設(shè)置目錄舔涎,添加本地服務(wù)名:$TNS_ADMIN/tnsnames.ora或$ORACLE_HOME/network/admin/tnsnames.ora
例如:TEST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = test) ) )
注:此處HOST為所連接的ip地址笼踩,PORT為端口號
五、 檢查驅(qū)動配置
vi /etc/odbcinst.ini 在其中添加oracle驅(qū)動亡嫌,如
[Oracle 11g ODBC driver]
Description = Oracle ODBC driver for Oracle 11g
Driver = /root/instantclient_11_2/libsqora.so.10.1
Setup =File
Usage =
CPTimeout =
CPReuse =
六嚎于、 添加oracle odbc配置(oracle用戶)
vi ~/.odbc.ini
[OracleODBC-10g]
Application Attributes = T
Attributes = W
BatchAutocommitMode = IfAllSuccessful
BindAsFLOAT = F
CloseCursor = F
DisableDPM = F
DisableMTS = T
Driver = Oracle 11g ODBC driver #對應(yīng)/usr/local/etc/odbcinst.ini中的驅(qū)動配置名稱
DSN = OracleODBC-11g
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataId
Default = F
QueryTimeout = T
ResultSets = T
ServerName =TEST #對應(yīng)tnsnames.ora中配置的本地服務(wù)名SQLGetData extensions = F
Translation DLL =
Translation ption = 0
DisableRULEHint = T
UserID =
七、 測試
用命令:isql<數(shù)據(jù)源名稱> <用戶名> <密碼> -v
[root@dwj~]$ isql OracleODBC-11g system oracle -v+---------------------------------------+|Connected! || ||sql-statement || help[tablename] ||quit || |+---------------------------------------+

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挟冠,一起剝皮案震驚了整個濱河市于购,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌知染,老刑警劉巖肋僧,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異控淡,居然都是意外死亡嫌吠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門掺炭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辫诅,“玉大人,你說我怎么就攤上這事涧狮】话” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵者冤,是天一觀的道長肤视。 經(jīng)常有香客問我,道長涉枫,這世上最難降的妖魔是什么邢滑? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮拜银,結(jié)果婚禮上殊鞭,老公的妹妹穿的比我還像新娘。我一直安慰自己尼桶,他們只是感情好操灿,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泵督,像睡著了一般趾盐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上小腊,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天救鲤,我揣著相機與錄音,去河邊找鬼秩冈。 笑死本缠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的入问。 我是一名探鬼主播丹锹,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼芬失!你這毒婦竟也來了楣黍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤棱烂,失蹤者是張志新(化名)和其女友劉穎租漂,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颊糜,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡哩治,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了衬鱼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锚扎。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖馁启,靈堂內(nèi)的尸體忽然破棺而出驾孔,到底是詐尸還是另有隱情,我是刑警寧澤惯疙,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布翠勉,位于F島的核電站,受9級特大地震影響霉颠,放射性物質(zhì)發(fā)生泄漏对碌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一蒿偎、第九天 我趴在偏房一處隱蔽的房頂上張望朽们。 院中可真熱鬧怀读,春花似錦、人聲如沸骑脱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叁丧。三九已至啤誊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拥娄,已是汗流浹背蚊锹。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留稚瘾,地道東北人牡昆。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像摊欠,于是被迫代替她去往敵國和親迁杨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容