我在 Windows XP 机器上安装了 Oracle Client v. 11.2.0.1 并设置了 TNS_ADMIN 和 ORACLE_HOME 环境变量。
使用 sqlplus 通过 TNS 别名连接到远程数据库可以正常工作:
sqlplus username/password@ALIAS
但是对相同别名的 tnsping 会导致以下错误:
P:\>tnsping ALIAS
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 07-AUG-2
011 18:20:08
Copyright (c) 1997, 2010, 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=TNSMessage 3513 n
ot found; No message file for product=NETWORK, facility=TNSMessage 3509 not foun
d; No message file for product=NETWORK, facility=TNS
对于类似的问题(即此处的 Stack Overflow 上),tnsping 至少能够从别名中解析连接字符串。在这种情况下并非如此。这使我相信某些环境变量丢失或指向错误的位置。任何建议,将不胜感激。