共计 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 小编将为大家输出更多高质量的实用文章!