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