我正在尝试使用SQL Developer连接到oracle数据库。
我已经安装了.Net oracle驱动程序,并将tnsnames.ora
文件放在
C:\Oracle\product\11.1.0\client_1\Network\Admin
我在tnsnames.ora中使用以下格式:
dev =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = idpdev2)
)
)
在SQL Developer中,当我尝试创建新连接时,没有TNS名称显示为选项。
我是不是漏掉了什么?
发布于 2011-08-10 07:18:45
打开SQL Developer。转至工具->偏好设置->数据库->高级,然后显式设置Tnsname目录
我的TNSNAMES设置正确,我可以连接到Toad、SQL*Plus等,但我需要这样做才能让SQL Developer正常工作。也许这是Win7的一个问题,因为安装起来也很痛苦。
发布于 2009-01-08 19:56:14
通过运行TNSPING检查连接性(9i或更高版本),您始终可以找到正在使用的tnsnames.ora文件的位置:
C:\>tnsping dev
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 08-JAN-2009 12:48:38
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = DEV)))
OK (30 msec)
C:\>
有时,问题出在您在tnsnames.ora中输入的条目,而不是系统找不到它。也就是说,我同意设置tns_admin环境变量是一件好事,因为它避免了在具有多个oracle home的系统中准确确定正在使用哪个tnsname文件时出现的不可避免的问题。
发布于 2010-04-14 06:30:27
Jason提到的步骤非常好,应该可以工作。不过,SQL Developer有一点小问题。它在第一次读取tnsnames.ora文件时缓存连接规范(主机、服务名称、端口)。这样,从tnsname.ora文件中删除原始条目时,它不会使等级库无效。即使SQL Developer已终止并重新启动,缓存仍然存在。这并不是一种不合逻辑的处理情况的方式。即使tnsnames.ora文件暂时不可用,只要原始规范仍然正确,SQL Developer仍然可以建立连接。问题来了,他们的下一个小转折。解析连接时,SQL Developer会将tnsnames.ora文件中的服务名称视为区分大小写的值。因此,如果您过去在文件中有一个名为abcd.world的条目,并将其替换为一个名为ABCD.world的新条目,则SQL Developer将不会更新其ABCD.world的连接规范-它会将abcd.world完全视为不同的连接。为什么Oracle产品会将oracle开发的文件格式的内容视为区分大小写,这一点我一点也不奇怪?
https://stackoverflow.com/questions/425029
复制相似问题