【问题标题】:Verifying tnsnames.ora syntax in Windows在 Windows 中验证 tnsnames.ora 语法
【发布时间】: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


【解决方案1】:

这里也一样——你需要在第 2 行的开头插入一个空格:

HOST.COMPANY.COM=
 (DESCRIPTION = 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-08
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    相关资源
    最近更新 更多