Limitations when using Direct Discovery

Supported data types

All data types are supported in Direct Discovery, though there may be cases in which specific source data formats need to be defined to QlikView. This can be done on the load script by using the "SET Direct...Format" syntax. The following example demonstrates how to define the date format of the source database that is used as the source for Direct Discovery:

Example:  

SET DirectDateFormat='YYYY-MM-DD';

There are also two script variables for controlling how the Direct Discovery formats money-type values in the generated SQL statements:

SET DirectMoneyFormat (default '#.0000')
SET DirectMoneyDecimalSep (default '.')

The syntax for these two variables is the same as for MoneyFormat and MoneyDecimalSep, but there are two important differences in the usage:

  • This is not a display format, so it should not include currency symbols or thousands separators.
  • The default values are not driven by the locale but are hard wired to the values. (Locale-specific formats include the currency symbol.)

Direct Discovery can support the selection of extended Unicode data by using the SQL standard format for extended character string literals (N'<extended string>') as required by some databases, such as SQL Server. This syntax can be enabled for Direct Discovery with the script variable DirectUnicodeStrings . Setting this variable to "true" enables the use of "N" in front of the string literals.

Security

The following security best practices should be taken into consideration when using Direct Discovery:

  • All of the users using the same application with the Direct Discovery capability use the same connection. Authentication pass-through and credentials-per-user are not supported.
  • Section Access is supported in server mode only.
  • It is possible to execute custom SQL statements in the database with a NATIVE keyword expression, so the database connection set up in the load script should use an account that has read-only access to the database.
  • Direct Discovery has no logging capability, but it is possible to use the ODBC tracing capability.
  • It is possible to flood the database with requests from the client.
  • It is possible to get detailed error messages from the server log files.

QlikView functionality that is not supported

Because of the interactive and SQL syntax-specific nature of Direct Discovery, several features are not supported:

  • Advanced calculations (Set Analysis, complex expressions)
  • Calculated dimensions
  • Comparative Analysis (Alternate State) on the objects that use Direct Discovery fields
  • Direct DiscoveryMEASURE and DETAIL fields are not supported when using the search function
  • Binary load from an application that is accessing a Direct Discovery table
  • Loop and Reduce
  • Synthetic keys on the Direct Discovery table
  • Table naming in script does not apply to the Direct Discovery table
  • The use of wild card * character after DIRECT QUERY keyword on the load script (DIRECT QUERY *)
  • Oracle database tables with LONG datatype columns are not supported.
  • Big integers in scientific notation, outside range [-9007199254740990, 9007199254740991], can cause rounding errors and undefined behavior.

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?