Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Highlighted
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
MVP
MVP

Re: Custom Connectors with Direct Discovery

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

Not applicable

Re: Custom Connectors with Direct Discovery

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.

MVP
MVP

Re: Custom Connectors with Direct Discovery

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.

Not applicable

Re: Custom Connectors with Direct Discovery

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.

Community Browser