一、下載安裝包
-
http://www.unixodbc.org/
下載文件:unixODBC-2.3.4.tar.gz - 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 || |+---------------------------------------+