Ограничения при использовании Direct Discovery

Поддерживаемые типы данных

В Direct Discovery поддерживаются все типы данных, однако в некоторых случаях в QlikView необходимо определить отдельные форматы источников данных. Это можно сделать в скрипте загрузки, используя синтаксис «SET Direct...Format». В следующем примере показано, как определить формат данных исходной базы данных, используемой в качестве источника для Direct Discovery:

Example:  

SET DirectDateFormat='YYYY-MM-DD';

Имеется также две переменные скрипта для управления тем, как Direct Discovery форматирует значения денежных единиц в созданных операторах SQL:

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

Синтаксис для этих двух переменных такой же, как и для элементов MoneyFormat и MoneyDecimalSep, но есть два важных отличия в использовании:

  • Это не формат отображения, поэтому переменные не должны содержать символы валюты или разделители тысяч.
  • Значения по умолчанию не зависят от региона, но жестко связаны с этими значениями. (Формат, определенный для конкретного языка, включает в себя символ валюты.)

Direct Discovery поддерживает выбор расширенных данных Юникода путем использования стандартного формата SQL для строковых литералов расширенных символов (N’<расширенная строка>’), как это требуют некоторые базы данных (в частности SQL Server). Этот синтаксис можно включить для Direct Discovery с помощью переменной скрипта DirectUnicodeStrings. Если установить для этой переменной значение "true", то перед строковыми литералами будет использоваться "N".

Безопасность

При использовании Direct Discovery необходимо придерживаться следующих рекомендаций по безопасности:

  • Все пользователи, использующие одно приложение с функцией Direct Discovery, используют одно подключение. Сквозная проверка подлинности и отдельные учетные данные для каждого пользователя не поддерживаются.
  • Доступ к секции поддерживается только в режиме сервера.
  • Можно выполнять пользовательские операторы SQL в базе данных с помощью ключевого выражения NATIVE так, чтобы для подключения к базе данных, настроенного в скрипте загрузки, использовалась учетная запись, для которой база данных доступна только для чтения.
  • В Direct Discovery нет функции ведения журнала, но можно использовать функцию трассировки ODBC.
  • Можно заполнять базу данных с помощью запросов от клиента.
  • Можно получить подробные сообщения об ошибках из файлов журнала сервера.

Не поддерживаемые функции QlikView

Вследствие интерактивной работы и характерного для SQL синтаксиса в Direct Discovery некоторые функции не поддерживаются:

  • Расширенные вычисления (анализ множества, сложные выражения)
  • вычисляемые измерения
  • Сравнительный анализ (другие состояния) в объектах, которые используют поля Direct Discovery
  • Функция поиска не поддерживает поля Direct DiscoveryMEASURE и DETAIL
  • Бинарная загрузка из приложения, которое обращается к таблице Direct Discovery
  • Цикл и сокращение (Loop and Reduce)
  • Синтетические ключи в таблице Direct Discovery
  • Присвоение имен таблицам в скрипте не применимо к таблице Direct Discovery
  • Использование подстановочного знака * после ключевого слова DIRECT QUERY в скрипте загрузки(DIRECT QUERY *)
  • Таблицы базы данных Oracle со столбцами данных типа LONG не поддерживаются.
  • Большие целые числа в научном представлении за пределами диапазона [-9007199254740990, 9007199254740991] могут приводить к ошибкам округления и неопределенному поведению.