【发布时间】:2015-11-04 14:15:31
【问题描述】:
我有一个正在运行的 tnsnames.ora 文件(使用 Java 连接到数据库)。有人给了我几个名字和描述来补充。我在底部添加了这些并将我尝试连接的内容更改为新名称之一。我从测试中收到此错误(实际名称因隐私而更改):
java.lang.AssertionError:运行 RandProv 查询时出错:IO 错误:无法解析连接标识符“HOST.COMPANY.COM”
我的 tnsnames.ora 文件中有这个条目。不幸的是,我不确定我可以在这里发布它。如果我再次更改名称,也许我可以。它在下面。无论如何,我想知道是否有在线工具来检查语法?当我使用 Linux 时,我可以使用我找到的一个 bash 脚本。不幸的是,我现在使用的是 Windows 7。有人知道验证语法的方法吗?
这是条目(请记住,之前文件中的连接工作,错误不是连接不好,而是它无法解决它):
HOST.COMPANY.COM=
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = servername.COMPANY.COM)
(PORT = 1784)
)
(CONNECT_DATA =
(FAILOVER_MODE =
(TYPE = select)
(METHOD = basic)
(RETRIES = 20)
(DELAY = 1)
)
(SERVER = dedicated)
(SERVICE_NAME = NAME2.COMPANY.COM)
)
)
任何想法如何检查语法?我知道这可能是由更远的地方引起的。
【问题讨论】:
-
顺便说一句,我在 Eclipse 中使用 Maven 和 Java 以及 testng 运行它
-
首先尝试从终端运行 tnsping host.company.com 并在此处发布输出,这样我们就可以知道问题是 oracle 还是 java。
-
您确定您更改了 Java 使用的同一个文件吗?我似乎记得它不一定使用主要的 ORACLE_HOME 或 TNS_ADMIN(或 LOCAL)指向的那个。
-
This answer 建议您将文件位置作为命令行标志提供给 Java;你能确认那是你改变的文件吗?
-
不确定我的回复发生了什么。这是从 Eclipse 运行的。项目文件的顶部是 tsanames.ora,在 configuration.properties 中是要使用的数据库连接名称。不知道怎么做tsping。它不能从命令窗口工作。而且我只是在执行,我没有编写代码。我可以尝试联系作者,看看他是否有任何建议。不过我不确定我能不能联系到他。
标签: java oracle windows-7 tnsnames