Oracle SQL Developer 使用 InstantClient 连接Oracle9i
4.1.3 版本不在支持 9i , 在连接到 9i 的库时, 读取表结构,过程或函数等对象时, 会发生如下错误:
这个是因为 SQL Developer 自带的驱动不兼容 9i . 为解决这个问题, 可以使用 OCI 驱动.- 安装 InstantClient a. , 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 ,不再报错.