ORA-12154:TNS:无法解析使用TeamCity指定的连接标识符

时间:2015-05-29 21:36:26

标签: sql oracle msbuild teamcity

目前,我正在尝试设置TeamCity。在TeamCity参数中,我设置了以下值:

widgets.to_a.last(10)

当我运行TeamCity项目时,会产生此错误:

env.DeployConnectionString:  Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=mySID)));User ID=sys;Password=mySysPassword;
env.Rdbms: Oracle
env.SqlPlusLogon: @mySID

此外,当我尝试从命令行使用相同的参数登录sqlplus时,它会因上述主题行中的错误而失败。当我尝试使用此字符串从命令行登录sqlplus时,它没有问题:

C:\TeamCity\buildAgent\work\4832a5599bdcf4b9\myProject\myProject.proj(51, 7): error MSB3073: The command "sqlplus "sys/mySysPassword@mySID as sysdba" @KillSessions.sql C:\Database\Oracle" exited with code -1.

所以我的问题是,我如何配置TeamCity使用底部连接字符串而不是顶部连接字符串?我原以为这就是我在设置env.DeployConnectionString时所做的。有没有人有什么建议? TIA。

2 个答案:

答案 0 :(得分:0)

我认为这不是在这个命令下读取SID:sys / mySysPassword @ mySID。

为什么不将SID存储在tnsnames.ora中,并在命令行中替换mySID部分?

答案 1 :(得分:0)

谢谢大家的帮助。通过将env.SqlPlusLogon更改为:

解决了上述问题
env.SqlPlusLogon: @(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=mySID)))