0

我传递其被定义为一个参数: - $$SQL_DB_CONNECT_STRING在参数文件,如: -传递参数在JAVA转型的Informatica

$$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; 

当我运行的工作流程也给出了一个错误: -

ERROR :- [ERROR] com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host TEST10.ad.test.com, named instance \adw failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.

.....当我在Java转换中直接对其进行硬编码时,它会通过。

请帮我解决这个问题。

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

+0

感谢您的编辑 – Gaurav

回答

0

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