Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
We have been auto-refreshing several Qlikview models via a script for several years and have recently updated one of the models with Section Access security. The security is all working fine when the model is manually refreshed, however it is requesting a user ID when the refresh is run via a script. From what I can see, we have the correct command line:
C:\Program Files\Qlikview\qv.exe /r /NoSecurity z:Dashboard.qvw
When this is run, a message is displayed: "Please enter your User ID" and the process fails unless this is input. Am I missing something on the command line?? I have also tried this with /l instead of /r.
Hi
Have you applied section access using NTNAME? If so, make sure that the account used by the scheduler task is included in the section access table. /NoSecurity is not a section access override, in case you were thinking that.
I you are using USERID instead of NTNAME, then I don't think you can invoke a /r reload from the command line. You could open and reload the document using an external vbscript executed from your batch job using cscript, but this is less efficient than /r
HTH
Jonathan
Thanks for the response ... yes, we are using the USERID method for the Section Access, and I was not aware of an issue with this. Be good to see if there are any helpful suggestions to counter this ...
Add an NTNAME column to Section Access. Add a line to the SA table with a * in the USERID column and the accountname of the user that is running the scheduled task in column NTNAME. Make sure that this account has role ADMIN.
For all USERID lines, put a * in the NTNAME column.
I have tried doing this, but still get the same result. Here is the syntax I am using:
Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, NTNAME, ACCESS_LEVEL
ADMIN , *, *, ERP, *
ADMIN, ADMIN, ADMIN999, *, *
USER, BOBM, 1241, *, *
USER, JOHNB, 5745, *, *
USER, TOMMYK, 4171, *, MF
USER, TOMMYK, 4171, *, CS
USER, TOMMYK, 4171, *, GR
USER, JOHNZ, 9547, *, SE
USER, JOHNZ, 9547, *, SF
];
Section Application;
LOAD * INLINE [
Branch_Access, ACCESS_LEVEL
"MF", MF
"CS", CS
"GR", GR
"SE", SE
"SF", SF
];
You might need a domain qualifier on the NTNAME, something like:
domainname\ERP
You might need a domain qualifier on the NTNAME, something like:
domainname\ERP
I did try this (I removed the Domain Name from the example I provided above). The syntax used is:
ADMIN , *, *, BBSDOMAIN\ERP, *
This is still not working ...
Are you sure the script reload is being performed as user BBSDOMAIN\ERP? Does it work if you logon as BBSDOMAIN\ERP and execute the script manually? What kind of script are you using?