在试图从我的工作站(实际上,在WinXP32和Win764工作站上看到相同的行为)build立到Oracle服务器的连接时,我经常尝试的第一件事情就是昙花一现。 当我这样做,这是我得到:
> C:>tnsping MYdbnAME > > TNS Ping Utility for 32-bit Windows: > Version 10.2.0.1.0 - Production on > 25-JAN-2 011 15:03:35 > > copyright (c) 1997,2005,Oracle. All > rights reserved. > > Message 3511 not found; No message > file for product=NETWORK,> facility=TNSMessage 3512 not found; > No message file for product=NETWORK,> facility=TNSAttempting to contact > (DESCRIPTION = (ADDRESS_LIST = > (ADDRESS = (PROTOCOL = TCP) (HOST = > thisismyservername.com)(PORT = 1577))) > (CONNECT_DATA = (SID = MYdbnAME))) > Message 3509 not found; No message > file for product=NETWORK,facility=TNS
所以,正如你所看到的,它正确地检测我的tnsnames文件,并为指定的数据库选取正确的服务器地址和端口,但是tnsping失败,出现3511和3509错误。
奇怪的部分是,从同一个工作站使用sqlplus或Toad,我可以成功地连接到同一个数据库。
任何人都可以解释这里发生了什么?
本地系统pipe理员的CreateProcessAsUser不应用Windows样式
无法让QPrinter使用cmake链接
Java在用户login时使应用程序自动运行(Mac和Windows)
FWIW:
ORACLE_HOME系统环境variables(以及任何其他oracle环境variables) 未设置。
更新
ORACLE_HOME环境variables不一定需要设置,它似乎依赖于每台机器。 我特别的问题是:Oracle 10g有一个已知的缺陷,因为tnsping.exe根本无法工作。 有一个补丁
如何开始在Windows下的驱动程序编程
如何切换大容量快捷方式的驱动器?
剪贴板如何在Windows中工作?
遇到.bat文件问题
_CrtCheckMemory使用示例
我相信这可能发生在你的ORACLE_HOME环境变量设置不正确时。 tnsping仍然可以从PATH找到,但是找不到它的消息文件。 echo %ORACLE_HOME%显示什么,Oracle客户端实际安装在哪里?
这并不一定对Toad的访问有任何影响,因为它不需要直接访问ORACLE_HOME ; 您可能已经给了一个完整的连接字符串,或者如果TNS_ADMIN ,它可能能够获取服务名称。
编辑您也可能有几个相互干扰的Oracle产品。 如果是这样,请尝试开始 – >所有程序 – > Oracle安装产品 – >主页选择器,并选择与您正在执行的tnsping相关的。 (实际上这是为9i客户端;我认为10g您可能需要使用通用安装程序,通过安装产品 – >环境更改,但无法检查)。
除了设置ORACLE_HOME变量之外,还应该确保c: orant bin; 条目出现在可能已安装的其他Oracle客户端的任何其他路径条目之前。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。