Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I am interested in using my own custom connector with Direct Discovery.
In order to test it out I am trying to use the QvEventLogConnectorElaborate custom connector of the SDK 2.0.
The example given in the QvEventLogConnectorElaborate.qvw is a simple SELECT of all the fields provided by the connector to load them at LOAD time:
CUSTOM CONNECT TO "Provider=QvEventLogConnectorElaborate.exe;Server=localhost;...";
SQL SELECT Category,
CategoryNumber,
EntryType,
Index,
MachineName,
Message,
Source,
TimeGenerated
FROM ApplicationsEventLog;
When I try to use it with Direct Discovery here is what I do:
CUSTOM CONNECT TO "Provider=QvEventLogConnectorElaborate.exe;Server=localhost;...";
DIRECT SELECT Category,
CategoryNumber,
EntryType,
Index,
MachineName,
Message,
Source,
TimeGenerated
FROM ApplicationsEventLog;
The previous Direct query gives me a QVX_SYNTAX_ERROR error message from the QvxLibrary:
QVX_SYNTAX_ERROR: Invalid query: SELECT CategoryID FROM ApplicationsEventLog GROUP BY CategoryID
DIRECT SELECT CategoryID
FROM ApplicationsEventLog
Would anyone know what is the reason why I am getting this error message and if I could (if possible) use a customer connector with Direct Discovery?
Am I missing something with implicit fields?
Thanks,
Hi,
obviously the connector cannot handle aggregations. Direct Discovery is a feature which uses SQL aggregation queries only which consists of a GROUP BY clause and aggregation functions (count/min/max/sum/avg etc. for charts).
Usually this functionality is only provided by a real database. I wonder if you're going to implement this in a connector..
- Ralf
The reason I would like to use my own custom connector is that I don't the Qlikview to be soliciting my database whenever the user selection changes.
Also, because of the size of the data I need to pull, I would like to be able to stream it during run time so that it is not loaded in-memory all at once.
To address this problem I was thinking about creating my own datastore and use a custom connector to query it and stream it back to Qlikview.
You could place another database (maybe an in-memory database) between your source database and QlikView which gets loaded once a day or so to serve the Direct Discovery feature independently from the original source.
Sebastien,
Direct Discovery is not currently supported within QVX, only for the ODBC based connections. As for Qlikview soliciting the source db, there are some parameters you can set to throttle and control the load that is placed and also the duration for refresh of a Qlikview side cache that will hold previous results.