共計 3848 個字符,預計需要花費 10 分鐘才能閱讀完成。
本篇內容介紹了“aix 怎么安裝 oracle 客戶端”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1 環境
root@ythdc:/
# oslevel -s
6100-05-01-1016
root@ythdc:/
# bootinfo -K
64
2 下載
unixODBC
http://www.unixodbc.org/
unixODBC-2.3.0.tar.gz
Oracle ODBC Driver
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/aix5l32soft.html
basic-10.2.0.4.0-aix-ppc32.zip
odbc-10.2.0.4.0-aix-ppc32.zip
注意:在測試環境中,unix 是 64 位的操作系統,但是 unixODBC 無法 make 成 64bit 的程序,所以在這里只能用 32 位的驅動,如果使用 64bit 的驅動,將在連接時報驅動無法找到的錯誤。
unixODBC2.2.13+
$ CPPFLAGS= -DBUILD_LEGACY_64_BIT_MODE -DSIZEOF_LONG_INT=8
$ export CPPFLAGS
$ ./configure –enable-gui=no –enable-drivers=no
$ make
$ cd exe
$ ./odbc_config –ulen
-DSIZEOF_SQLULEN=4
如果 -DSIZEOF_SQLULEN= 4 表示 32bit 程序,如果 -DSIZEOF_SQLULEN= 8 表示 64bit 程序。
參考:
http://www.easysoft.com/developer/interfaces/odbc/64-bit.html#unix
將所有文件上傳至服務器的 /opt/odbc/ 目錄下。
3 安裝必要的 RPM 包(root 用戶)
gcc-4.2.0-3.aix6.1.ppc.rpm
libffi-devel-4.2.0-3.aix6.1.ppc.rpm
libstdc++-devel-4.2.0-3.aix6.1.ppc.rpm
libffi-4.2.0-3.aix6.1.ppc.rpm
libgcc-4.2.0-3.aix6.1.ppc.rpm
以上的包都可以在 IBM 官網上下載到:
ftp://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/
安裝這些包對 /opt 目錄有 512MB 的空間要求。
4 安裝 unixODBC(root 用戶)
#cd /opt/odbc/
#tar xvf unixODBC-2.3.0.tar.gz
#cd /opt/odbc/unixODBC-2.3.0
#./configure –enable-gui=no –enable-drivers=no
#make
#make install
(默認是被安裝到 /usr/local)
5 安裝 Oracle ODBC(root 用戶)
#cd /opt/odbc/
#unzip basic-10.2.0.4.0-aix-ppc32.zip
#unzip odbc-10.2.0.4.0-aix-ppc32.zip
(兩個文件解壓到同一個目錄 instantclient_10_2 下)
#cd /opt/odbc/instantclient_10_2
#chmod 775 odbc_update_ini.sh
#./odbc_update_ini.sh /usr/local
(沒有提示表示安裝成功)
odbc_update_ini.sh 參數說明:
參數 1:unixODBC DM 安裝路徑。
參數 2:驅動安裝的絕對路徑 (可選)。默認為運行腳本的路徑。
參數 3:驅動名 (可選),默認為 Oracle 10g ODBC driver。
參數 4:數據源名稱 (可選),默認為 OracleODBC-10g。
運行完成后將添加一個 DNS 條目到 $HOME/.odbc.ini , DriverManager_HOME /etc/odbcinst.ini, 名稱為:OracleODBC-10g
修改 odbc 目錄的權限:
chown –R 775 /opt/odbc
6 配置本地服務名 (oracle 用戶)
添加本地服務名。
$TNS_ADMIN/tnsnames.ora
或
$ORACLE_HOME/network/admin/tnsnames.ora
例如:
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)
如果是非 Oracle 用戶,可以通過設置環境變量 TNS_ADMIN 來制定 tnsnames.ora 所在位置,當該改用戶有對 tnsnames.ora 讀的權限。
7 檢查驅動配置(root 用戶)
/usr/local/etc/odbcinst.ini
[Oracle 10g ODBC driver]
Description = Oracle ODBC driver for Oracle 10g
Driver = /opt/odbc/instantclient_10_2/libsqora.so
Setup =
FileUsage =
CPTimeout =
CPReuse =
這里我們要手動修改驅動,將 libsqora.so.10.1 修改為 libsqora.so
8 添加 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 10g ODBC driver #對應 /usr/local/etc/odbcinst.ini 中的驅動配置名稱
DSN = OracleODBC-10g
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataIdDefault = F
QueryTimeout = T
ResultSets = T
ServerName =test #對應 tnsnames.ora 中配置的本地服務名
SQLGetData extensions = F
Translation DLL =
Translation ption = 0
DisableRULEHint = T
UserID =
9 設置環境變量(oracle 用戶)
export LIBPATH=$LD_LIBRARY_PATH:/opt/odbc/instantclient_10_2:/usr/local/lib
export PATH=$PATH:/usr/local/bin
TNS_ADMIN(如果安裝有 oracle 軟件那么對應的就是 $ORACLE_HOME/network/admin/ 目錄,如果沒有安裝相應 oracle 軟件,需要指定 tnsnames.ora 所在的目錄,可選)
NLS_LANG(設定合適的字符集,可選)
10 測試(oracle 用戶)
oracle@ythdc:/usr/local/bin$./isql
OracleODBC-10g store store -v
+—————————————+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+—————————————+
SQL select * from v$version;
+—————————————————————–+
| BANNER |
+—————————————————————–+
| Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Prod|
| PL/SQL Release 10.2.0.1.0 – Production |
| CORE 10.2.0.1.0 Production |
| TNS for 32-bit Windows: Version 10.2.0.1.0 – Production |
| NLSRTL Version 10.2.0.1.0 – Production |
+—————————————————————–+
SQLRowCount returns -1
5 rows fetched
“aix 怎么安裝 oracle 客戶端”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!