Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

[resolved] Null password error when running job from command line.

Hi ,
I have imported a Talend job from
(Version: 5.6.0M1 Build id: r118307-20140604-0708) to Talend 5.6 (Released version).
Now when I run this job from Talend studio it works fine. but, when I Build the job and run the same from command line. It gives me null password error. 
When I checked the Default.properties file , the password is not in plain text. This is creating issue when I change my database connection parameters in context file.
I have noticed the previous version of Talend used to generate password in paling text. 
The issue can be reproduced even creating a simple job in Talend 5.6 (Attached screenshot).
Request you to look into this issue.
Sincere thanks,
Sanket.
Labels (3)
8 Replies
Anonymous
Not applicable
Author

Hi snaketmistry,
Your screenshot is missing. Could you please check it? How did you build job and run from commandline?
Best regards
Sabrina
Anonymous
Not applicable
Author

0683p000009MAxW.png 
Sorry missed the screenshot. 
1.)I have created a new job in Talend. 
2.) Right click on Job-->Build Job. Selected all options. It created the zip file.
3.) Extract the zip file. Modified the Default.properties.  What I have found that in the file, the password was not in plain text. I just changed it to plain text. (The older version of talend treats Password as plain text in Default.properties file.)
Run the batch file which is created by Talend. It throws the error 
context.db_Password::null
context.db_ServiceName::VSND
context.db_Login::hudda
Exception in component tOracleConnection_1
java.lang.NullPointerException
        at java.util.Hashtable.put(Unknown Source)
        at snts_loader.test_0_1.test.tOracleConnection_1Process(test.java:563)
        at snts_loader.test_0_1.test.tJava_1Process(test.java:464)
        at snts_loader.test_0_1.test.runJobInTOS(test.java:978)
        at snts_loader.test_0_1.test.main(test.java:805)
Anonymous
Not applicable
Author

Any update on this request?
Thanks,
Sanket.
Anonymous
Not applicable
Author

Hi Sanket,
Can you please change the datatype of password in context from "password" to "String" and try once? Thank you.
Regards
Srikanth
Anonymous
Not applicable
Author

Hi Srikanth,
The issue is not using the the "String". The issue is this feature was working fine in older version. 
When you have a password field as a context variable and if you build the job, the Default.properties file will show the password in plain text. Suddenly in this version the password changed to some binary. Now if you want to run this job from command line and want to change that context variable, it will fail and giving the null password error.
Thanks,
Sanket.
Anonymous
Not applicable
Author

I have checked this behaviour in older version. It is totally different in 5.6. 
Anonymous
Not applicable
Author

Can you please share what are the differences you have seen?
Anonymous
Not applicable
Author

Let's say you have a context variable "db_password" with Password type. Assign the value (say "test" to that variable. It will be masked in talend and displayed as ***
db_apssword = "test"
When you build the job and look into Default.properties. 
In older version: You will see the value in plain text (as above).
In 5.6: You will see the value in in binary (db_apssword = 4e7f142620180eb6) 
I have raised the bug from where you can download the sample job which I have attached.