Oracle sql Developer 使用 InstantClient 连接Oracle9i
SQL Developer 4.1.3 版本不在支持 9i,在连接到 9i 的库时,读取表结构,过程或函数等对象时,会发生如下错误:
这个是因为 sql Developer 自带的驱动不兼容 9i . 为解决这个问题,可以使用 OCI 驱动.
- 安装 InstantClient
a. 下载 InstantClient 11,11 以上的版本同样不支持9i
b. 解压.
c. 创建软链接cd $PATH_TO_instantclient ln -s libclntsh.so.11.1 libclntsh.so ln -s libocci.so.11.1 libocci.so
d. 创建network目录并添加TNSNames.ora (如果需要TNS方式连接,那么这一步必须)mkdir $PATH_TO_instantclient/network/admin -p cd $PATH_TO_instantclient/network/admin touch TNSNames.ora
e. 配置环境变量:export ORACLE_HOME="$PATH_TO_instantclient" export TNS_ADMIN="$ORACLE_HOME/network/admin" export LD_LIBRARY_PATH="$PATH_TO_INSTANTCLIENT11:$LD_LIBRARY_PATH"
如果不配置这个环境变量或者忘记创建软链接就会出现以下错误:
- 配置 sql Developer 工具 --> 首选项 --> 数据库 --> 高级 按如下图配置:
然后连 9i,不再报错.