我有一个工作的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环境变量。我能错过什么?
答案 0 :(得分: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来验证别名是否配置正确。
使用这些测试的结果回复我们。