Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi - I have a simple Qlikview application which has 2 tables of data, each one from a different SQL database.
Database 1 has been set up with Qlikview already by a third party and works.
Database 2 has never been used with Qlikview.
When I run my application locally, both of my datasets update correctly and everything is fine.
When I try to schedule my app to update each morning from the Qlikview server, it fails. I have then run a second time with Database 2 excluded and it updates perfectly which leads me to think that Database 2 is the issue.
Looking at the log file gives me the following error:
"SQL Server does not exist or access denied"
I know from looking at our existing database implementation, we have a user called 'qlikviewsa' set up, so I am assuming I need to do the same thing on Database 2, but I am stuck on the following:
1) What rights does the user need to have? (Admin, normal etc).
2) Do I need to make an adjustments to the settings file on the server to acknowledge the account created for the Qlikview service? I can see an Else if statement which says is vDB = 'database 1' THEN connection string with the credentials as 'qlikviewsa'.
Or am I on the wrong track completely?
How do you connect to your SQL Databases? Using ODBC or OLE DB?
OLEDB
If your using ODBC then couple of this to remember
1.You need to create USER/SYSTEM DSN in the server with the connection name in your QVW
2.Rights : It depends if your performing only the read operation then user read access on the tables is fine
OLE DB is ok.
If your second database doesn't explicitly grant access to the qlikviewsa user in the way that the first database did, of course you will get "access denied". Databases are not open to everyone by default.
An account to be used with QlikView usually only needs Read-access to your database. But the easiest thing to do here is to create an identical user as exists in database 1. Easier to manage.
All of this of course only if your SQL Server databases run in mixed security mode.
I don't really understand what you mean by question 2. What you do in your Load script depends on what credentials and permissions you get for your second database. Scripts are easy to adapt to DBMS security requirements. Better first create the account, and only then devise a new connection string. Ideally, the latter will look much the same as the first one, except for the DB name.
Thanks, I will create an identical user.
I was getting confused with the settings file as I was told to give access to "mydomain/Qlikview.srv" do I have to define this anywhere?
You should do that only if your SQL Server DB is configured to use Windows security mode. In that case only valid Windows accounts will be permitted to access Database 2. But that may be more work than it's worth. Every developer that is using his/her own account to develop and test a QlikView document with access to SQL Server should be granted permission to access the DB. With Mixed security mode and a SQL Server account like your qlikviewsa that needs to be defined only once, everyone that is developing QVWs - even the Distribution Service account - can use a single ID to access the DB.
Normal security precautions still apply..
I am still having problems. I have created an identical user in database 2 called 'qlikviewsa', I have connected on my local development machine fine and everything updates. When I upload to our server and schedule an update, it fails like before with the same access denied.message.. what do I do from here?
the settings file is used by qlik?
If yes could you post the settings file of the server and of your local machine?