在Informatica中传递JAVA变换中的参数

时间:2017-05-29 10:24:18

标签: informatica informatica-powercenter informatica-powerexchange informatica-cloud

我传递的参数在Param文件中定义为: - $$SQL_DB_CONNECT_STRING,如: -

$$SQL_DB_CONNECT_STRING = jdbc:sqlserver://TEST10.ad.test.com\adw;databaseName=TT_FIL_DB;selectMethod=cursor

我通过调用表达式然后在JAVA转换中使用此参数 如: -

$$SQL_DB_CONNECT_STRING [parameter File] --> o_SQL_DB_CONNECT_STRING [expression Transformation] --> SQL_DB_CONNECT_STRING [Java Transformation] like:-

String db_connect_string = SQL_DB_CONNECT_STRING;

当我运行工作流程时,它会出错: -

  

错误: - [错误] com.microsoft.sqlserver.jdbc.SQLServerException:与主机TEST10.ad.test.com的连接,命名为instance \ adw失败。错误:" java.net.SocketTimeoutException:接收超时"。验证服务器和实例名称,并检查没有防火墙阻止到端口1434的UDP流量。对于SQL Server 2005或更高版本,请验证主机上是否正在运行SQL Server Browser服务。

.....当我在java转换中直接硬编码时,它会被传递。

请帮我解决这个问题。

注意: - 所有其他参数都很容易传递,如用户名和密码。

1 个答案:

答案 0 :(得分:0)

如果查看会话日志的顶部,您将能够准确找到该变量的设置。我的第一个怀疑是它根本没有设置,因为你已经将语句放在参数文件的错误位置(必须与标题下面的此会话的其他参数一起用于此会话)如果您不习惯参数文件,这是最容易犯的错误