I am facing a strange issue. We have 2 different AIX unix servers 1 for SIT and 1 for UAT. The Teradata server is common for both Teradata SIT and UAT i.e., we login into same server for both teradata SIT and UAT but with different databases.
Unix server SIT TPT Version: 14.10.00.10
Unix server UAT TPT Version: 14.10.00.05
Teradata database: 15.10.03.01
For testing, we are not using any job-variables, directly hard-coding the values into the script.
Issue: In unix server UAT, Facing error TPT10507 CLI error 224 MTDP: EM_NOHOST(224) name not in host file or names database while running TPT script (delimited-file to table loading with ddl, dataconnector_producer and update operators). The DDL and update operators attributes tdpid, username, userpassword, workingdatabase are all same. The DDL operator is able to connect to Teradata and issue the drop statements of temporary tables as required. But the update operator is failing while connecting the sessions with the above mentioned error. I am sure that there is something missing as the DDL operator is able to connect the TD server and execute the statements; I can confirm that the values provided in the DDL and update operator for above attributes are same (verified more than 10 times). Assuming that there can be any embedded non-printable characters in UPDATE operator attributes, copy/paste'd the respective DDL tdpid, username, password, database attributes and values (at it was successfully connecting) into the UPDATE operator attributes section. But still the same issue. Took the tdpid, username, userpassword values from LOAD operator and using those successfully logged into BTEQ. Even replaced the UPDATE operator with LOAD operator and still the same issue.
Please note the same script while ran from Unix server SIT, with appropriate TDPID, username, userpassword and workingdatabase values replaced, script completes successfully. I am really confused on this behavior. Not sure if the version differences are causing any problems as these are the basic attributes that are used to login into the Teradata server.
Excerpt from the script:
DDL operator attributes: VARCHAR TDPID = '<SERVER_NAME>', VARCHAR USERNAME = '<USER_NAME>', VARCHAR USERPASSWORD = '<USER_PASSWORD>', VARCHAR WORKINGDATABASE= '<DATABASE>', ...... UPDATE operator attributes: VARCHAR TDPID = '<SERVER_NAME>', VARCHAR USERNAME = '<USER_NAME>', VARCHAR USERPASSWORD = '<USER_PASSWORD>', VARCHAR WORKINGDATABASE= '<DATABASE>', ......
Please note that the same script is running fine when executed for SIT server. So, I believe there is no issue with the script. Even tried with replacing the UPDATE operator attributes as
VARCHAR TARGETUSERNAME = '<USER_NAME>', VARCHAR TARGETUSERPASSWORD = '<USER_PASSWORD>', VARCHAR TARGETWORKINGDATABASE= '<DATABASE>', ......
still failing with same issue. Verified using the alias in hostname for the server, complete name of the server as specified in the hostname, ip address of the hostname as in host file and used them in UPDATE tdpid values. Still failing. Whenever the job had failed, I am changing the job-name and then re-executing the script to run from the first step. Can you please help on this. Thank you for your valuable time.
Please note that executing the job from Unix UAT server connecting to TD UAT environment is causing the problem. UNIX SIT server to TD SIT, no issues; Also, tried to run from Unix UAT server by pointing to TD SIT, and the issue still remains.
In the script, for both the DDL operator and the Update operator, please set:
TraceLevel = 'all'
and run the job and then send me the log file (the binary .out file found in the logs directory).