Ограничения при использовании Direct Discovery
Поддерживаемые типы данных
В Direct Discovery поддерживаются все типы данных, однако в некоторых случаях в QlikView необходимо определить отдельные форматы источников данных. Это можно сделать в скрипте загрузки, используя синтаксис «SET Direct...Format». В следующем примере показано, как определить формат данных исходной базы данных, используемой в качестве источника для Direct Discovery:
Пример:
Имеется также две переменные скрипта для управления тем, как Direct Discovery форматирует значения денежных единиц в созданных операторах SQL:
Синтаксис для этих двух переменных такой же, как и для элементов 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] могут приводить к ошибкам округления и неопределенному поведению.