连接时的常见问题及其解决方法详解:
一、oci.dll的版本不对:
由于Instance Client的版本和Oracle版本都很多,所以必须要对号入座才可以被匹配且连接成功,如何匹配及其设置请点击这里了解。Navicat for Oracle配置好之后,还需要设置环境变量:
1)在环境变量PATH中开头增加Instance Client的解压路径;
2)增加用户环境变量SQLPATH,值为Instance Client的解压路径
3)增加用户环境变量NLS_LANG,值为AMERICAN_AMERICA.UTF8
选择 Basic 连接,如没有其他错误就能连接上了。
二、连接时提示TNS:no listener:启动服务,还是会出现刚启动好,就自动停止服务了。
解决方法:
在C:/oracle/product/10.2.0/db_1/NETWORK/admin下打开listener.ora文件后将HOST后 的主机名 (ADDRESS = (PROTOCOL = TCP)(HOST = PC-200)(PORT = 1521)) 改成主机的IP地址:192.168.1.x 就好了。
三、不知道当前连接的SID:
原因:
监听器受到请求建立一个连接到数据库或其它服务的连接。收到的连接指定一个监听器实例的SID。要么还没有动态地注册到监听器或者没有被静态配置为侦听器。这可能是一个暂时的状况,例如,监听器如启动后,但在数据库实例注册的侦听器之前。
解决方法:
1、等一段时间之后在连接。
2、检查实例是目前已知的执行监听器:lsnrctl服务<监听器服务名>。
3、检查listener上有关在指定实例的连接描述中的SID参数。
4、检查listener.log文件中的事件记录。
四、报“ORA-12737 set CHS16GBK”错误:
原因:
字符集的不允许或者操作为无效。
解决方法:
1、打开【工具】—【选项】—【OCI】,正确设置OCI library(oci.dll) 的路径,即为Instance Client的oci.dll路径,并且备份里面的文件,在Instance Client里面新建bak文件夹,将“%dir%/Navicat Lite\instantclient_10_2” 目录下的所有dll文件剪切到bak文件夹中。
2、再将在oracle 客户端安装目录bin/目录下,找到如下图所示的几个.dll文件放置到“%dir%/Navicat Lite\instantclient_10_2”目录下,再重新启动服务即可连接成功了。
五、报“Navicat for Oracle Cannot create oci environment”错误:
原因:
不能创建OCI环境,我们还需要对Navicat for Oracle 做一下配置。
解决方法:
1、选择【工具】—【选项】—【OCI】,正确设置OCI library(oci.dll) 的路径,即为Instance Client的oci.dll路径.
2、重新连接,如果还会出现如下图所示的错误提示,就继续按照第三点的设置一下。
3、选择【高级】选项卡将“角色”那一栏修改为“SYSDBA”。再次连接,应该可以连接成功了。
如果后面如果还会出现问题,注意查看日志文件的错误描述,文件路径:C:/oracle/product/10.2.0/db_1/NETWORK/log。