3 Replies Latest reply: Feb 4, 2015 6:55 AM by Ieuan Jenkins RSS

    How to define a configurable ODBC connector programmatically ?

      Hi all,

       

      I managed to retrieve the list of defined connectors by calling the QMS API web service (GetDSResources method which returns a DSResource class).

       

      Now I would like to define such a connector programmatically but can't locate any methods that would allow to do that in the API.

       

      I have also tried to connect directly to the DSC service where similar methods (like GetResources or GetAllResources) exist. The methods return a collection of datasets (and the returned collection seems to contain as many entries as defined connectors in the system) but all datasets have an empty "Tables" collection. There is an interesting method there called SetNewResources taking a DataSet array as parameters that might do what I need but I have no clue how to use it.

       

      PS : these resources end up as xml files in the ProgramData\QlikTech\DirectoryServiceConnector\Resources

       

      Thanks in advance for any clue on this, I have already spent so much time trying to do this...

       

      Christian

        • Re: How to define a configurable ODBC connector programmatically ?

          After some more investigation, it looks like the DSC web service proxy that I'm using is not correctly generated (or the wsdl is not correct ?). In fact, instead of having DataSet classes used, it should rather be DSResource classes that should be generated and used in the proxy but they are not ! I did generate the proxy (.NET 4 using svcutil) for the DSC service in the same way as I generated the QMS API (QMSBackendService) which is working fine. Can someone explain how to use the DSC services and how to generate a working proxy ?  I did not find any explanation or examples :-(

           

          Christian

          • Re: How to define a configurable ODBC connector programmatically ?
            Ieuan Jenkins

            We would also find this immensely useful.  Our QlikView infrastructure is an entirely automated setup process with the exception of the DSC and QVWeb configuration because of the omission of these methods from the QMS API.

             

            From our investigation the following methods exist on the IQMS interface but are not marked with the [OperationContract] attribute and so are not available to consumers of the QMS API. This is preventing us from completely automating the setup of a new QlikView environment using this API.

            • GetDSCSettings
            • GetDSPSettings
            • GetMailSettings
            • GetQMSSettings
            • GetQvWebSettings
            • SetDSCSettings
            • SetDSPSettings
            • SetMailSettings
            • SetQMSSettings
            • SetQvWebSettings

             

            The following methods would also make development of some internal tools much simpler for us (we currently have to use QvClient to make them):

            • GetAdminDocListForUser
            • PingQVS

             

            I believe the crux of this change involves adding the following three lines above the declaration of each of the mentioned methods in IQMS.cs.

             

            [OperationContract]

            [QlikViewAdministratorAuthorization]

            [FaultContract(typeof (Exception))]

             

            It would be very much appreciated if someone from Qlik would be able to comment on this.