【问题标题】:Migrating ANT sqlplus execution from MacOSX to Windows, getting TNS error将 ANT sqlplus 执行从 MacOSX 迁移到 Windows,出现 TNS 错误
【发布时间】:2011-02-02 19:28:02
【问题描述】:
我有一个工作的 ANT build.xml,它执行 sqlplus 来编译 PL/SQL。我在 MacOSX 上开发。我的同事将开始为同一个应用程序做出贡献。他在 WinXP 上开发。来自 ANT 的 sqlplus exec 在 WinXP 上返回 TNS ORA-12560 错误。相同的 build.xml 适用于 MacOSX。 ANT 应该在 WinXP 上构建的运行字符串在 DOS shell 中工作。我们已经在 WinXP 中设置了 TNS_ADMIN 环境变量。我可能会错过什么?
【问题讨论】:
标签:
oracle
ant
tns
ora-12560
【解决方案1】:
根据您的描述,我不确定您是使用 ANT SQL 任务 (http://ant.apache.org/manual/Tasks/sql.html) 还是使用 exec 任务来调用 Sqlplus。你能澄清一下吗?
如果您将 sqlplus 作为外部命令调用,您将受制于两个主要因素:
a) 环境变量
b) tnsnames.ora 文件
Windows 和 unix 在处理指定连接位置的方式上有所不同。在 OSX 中,您将设置 ORACLE_HOME 和 ORACLE_SID 环境变量。在 Windows 中,这将在注册表中。您可能还设置了 TNS_ADMIN 来确定您的 tnsnames.ora 文件的位置。
首先要检查的是你们是否使用相同的 tnsnames.ora 文件。
如果是,请让你们俩都尝试运行 tnsping 以验证别名是否配置正确。
将这些测试的结果返回给我们。