Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Custom Connectors with Direct Discovery

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,

4 Replies
rbecher
MVP
MVP

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

Astrato.io Head of R&D
Not applicable
Author

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.

rbecher
MVP
MVP

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.

Astrato.io Head of R&D
Not applicable
Author

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.