3 Replies Latest reply: Jul 8, 2017 10:13 AM by Christian Hoefig RSS

    Create data connections via QRS API

    Bill Michielsen

      I'm trying to create OLEDB data connections in Qlik Sense Server 2.1.1 via the QRS API, so that all of my Apps can share the same database connection, but I don't see any way to set the password. I know in an older version there was a connectionString2  property you could set which was the encrypted portion of the connection string, but that no longer appears to exist. Does anyone know how to set the password via the QRS endpoint?


      Also, I have seen some strange behavior when importing Apps created in the desktop edition where the resulting reload task doesn't recognize the data connection by its name, even though I can see it plain as day in the QMC. I'm not using any odd security rules that I could easily attribute this to. Any ideas on this?

        • Re: Create data connections via QRS API
          Mufaddal Borsadwala

          I am having the same issue. Did you figure this out?


          I am able to create the connection (database connection or a folder connection) using QRS api. These connections show up in QMC. But these connections are not available while creating the App.

          • Re: Create data connections via QRS API
            Christian Hoefig

            Hi, I am also looking into creating database connections. Anybody found good (or any) API documentation on this ? I am using Qlik Sense 3.1.

            • Re: Create data connections via QRS API
              Christian Hoefig

              Hi fellow Qlikers,


              I did some more research and I am now able to change a dataconnection, including the Password (qlik sense 3.1).


              I am not using any qlik SDK or function, but directly do a PUT with a JSON body onto the datasource I am willing to change.


              What I am using is the QRS API (typically on port 4242), connecting with a client certificat. Used curl and also the Postman application to test it.


              Stumbling point: you have to query the dataconnection first, get the lastModified Date and use that in your PUT request.


              This is the request body I am sending:


              "name":"razordev.database.windows.net (qs53775_razor)",

              "connectionstring":"OLEDB CONNECT TO [Provider=SQLOLEDB;Data Source=razordev.database.windows.net;Initial Catalog=devDbClientData;]","type":"OLEDB","engineObjectId":"9bf15ac3-80c6-4a56-957f-37848952a4e0","username":"razxxx","password":"yourpwdhere","logOn":0,"architecture":0,"privileges":null,"modifiedDate":"2017-07-08T13:58:42.020Z"}


              The answer comes back with a 200 response code (and gives you the new modified date).