I am passing a parameter which is defined as:- $$SQL_DB_CONNECT_STRING
in Param File like:-
$$SQL_DB_CONNECT_STRING = jdbc:sqlserver://TEST10.ad.test.com\adw;databaseName=TT_FIL_DB;selectMethod=cursor
I am using this Parameter by calling in expression and then in JAVA transformation like:-
$$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;
When I run the workflow it gives an error :-
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.
.....and when I directly hardcode it in java transformation it gets passed.
Please help me with this issue.
Note:- All other parameters are getting passed easily, like username and password.
If you look through the top of your session log, you'll be able to find exactly what that variable is getting set to. My first suspicion is that its not getting set at all because you've put the statement in the wrong place in your parameter file (must be together with the other parameters for this session underneath the header which identifies these parameters are for this session) this is the easiest mistake to make if you're not used to parameter files