oracletns中不存在名称为_关于数据库:向SQL Developer添加新连接时未显示Oracle TNS名称...

我正在尝试使用SQL Developer连接到oracle数据库。

我已经安装了.Net oracle驱动程序并将tnsnames.ora文件放在

C:\Oracle\product\11.1.0\client_1

etwork\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名称显示为选项。

有什么我想念的吗?

SQL Developer将按以下顺序在以下位置查找tnsnames.ora文件

$ HOME / .tnsnames.ora

$ TNS_ADMIN / tnsnames.ora

注册表中的TNS_ADMIN查找键

/etc/tnsnames.ora(非Windows)

$ ORACLE_HOME / network / admin / tnsnames.ora

LocalMachine SOFTWARE ORACLE ORACLE_HOME_KEY

LocalMachine SOFTWARE ORACLE ORACLE_HOME

若要查看正在使用哪个SQL Developer,请在工作表中发出命令show tns

如果您的tnsnames.ora文件未被识别,请使用以下过程:

定义一个名为TNS_ADMIN的环境变量,以指向包含您的tnsnames.ora文件的文件夹。

在Windows中,这是通过导航到"控制面板">"系统">"高级系统设置">"环境变量..."来完成的。

在Linux中,在主目录的.profile文件中定义TNS_ADMIN变量。

确认操作系统正在识别此环境变量

在Windows命令行中:

回声%TNS_ADMIN%

从Linux:

回声$ TNS_ADMIN

重新启动SQL Developer

现在,在SQL Developer中,右键单击Connections,然后选择New Connection...。在下拉框中选择TNS作为连接类型。您从tnsnames.ora中输入的内容现在应显示在此处。

对我来说:$ HOME / .tnsnames.ora没有用...我改用$ HOME / tnsnames.ora。另请注意:您将需要转至工具->首选项,搜索" tns"并将目录指向$ HOME。

尽管在SQL开发人员1.5版本的发行说明中有此说明,但我发现在Ubuntu 12.04 LTS上,仅#5起作用。请尝试以下步骤来检查您的情况是否正确:forums.oracle.com/message/2769285#2769285。值得注意:作者在Win Vista上遇到了问题。

在Windows中为我工作。永远记录东西!

设置TNS_ADMIN对我不起作用。相反,我在计算机上搜索了所有TNSNAMES文件,并更新了所有文件的内容。不知道为什么Windows 7 Sql Developer坚持使用一些旧文件夹中的其他TNSNAMES文件。

注意:$TNS_ADMIN是目录,而不是实际的.ora文件

我发现TNS_ADMIN的env var需要以斜杠结尾的路径。如果没有斜杠,SQL Developer将看不到tnsnames.ora文件。

打开SQL Developer。

转到工具->首选项->数据库->高级

然后显式设置Tnsnames目录

我的TNSNAMES设置正确,可以连接到Toad,SQL * Plus等,但是我需要这样做才能使SQL Developer正常工作。也许这是Win 7的问题,因为安装也很麻烦。

这是最简单的解决方案,并且有效

接受的答案对我不起作用,但对我有用(Windows Server 2008R2)

在SQLDeveloper中,浏览Tools --> Preferences,如下图所示。

在"偏好设置"选项expand Database --> select Advanced --> under"Tnsnames Directory" --> Browse the directory中,其中存在tnsnames.ora。

然后单击"确定"。

如下图所示。

You have Done!

现在,您可以通过TNSnames选项进行连接。

找不到" Databse:Advanced" ==>我的版本是1.5.5

对于低于2.1的版本,或者如果您没有在2.1或更高版本上指定Tnsnames目录,请按照@JasonAnderson答案中的指定休假。

我在"工具"->"首选项"->"数据库"->"高级参数"菜单中没有Tnsnames目录选项。我正在使用SqlDeveloper v1.1.3

通过运行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

ETWORK\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主目录的系统中准确使用哪个tnsnames文件时不可避免的问题。

如何安装tnsping工具?

在客户端安装中,有一个用于数据库工具或类似工具的复选框。

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开发的文件格式的内容视为大小写?

@allen:您知道如何强制其清除此列表吗?如果是这样,请回复stackoverflow.com/q/6412559/168646

在Sql Developer中,导航到Tools-> preferences-> Datababae-> advanced->将Tnsname目录设置为包含tnsnames.ora的目录

上述变化对我的情况没有任何影响。我可以在命令窗口中运行TNS_PING,但是SQL Developer无法确定tnsnames.ora在哪里。

在我的情况下(Windows 7-64位-Enterprise),问题是Oracle安装程序将"开始"菜单快捷方式指向了错误版本的SQL Developer。安装程序似乎附带了三个SQL Developer实例。一个位于%ORACLE_HOME% client_1 sqldeveloper 中,两个位于%ORACLE_HOME% client_1 sqldeveloper bin 中。

安装程序安装了一个开始菜单快捷方式,该快捷方式指向bin目录中根本无法运行的版本。每当我启动SQL Developer时,它都会要求输入密码,而不记得我选择了TNS作为连接机制时所做的选择并显示空白列表。在其他帖子中引用的数据库高级设置中,它也没有TNS目录字段。

我抛弃了旧的"开始"快捷方式,并安装了%ORACLE_HOME% client_1 sqldeveloper sqldeveloper.exe的快捷方式。这种变化解决了我的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值