Direct Discovery を使用する際の制限事項

対応しているデータ型

Direct Discovery ではすべてのデータ型がサポートされていますが、特定のソース データの書式は、QlikView 向けに定義する必要があります。"SET Direct...Format" 構文を使用すると、ロード スクリプトで定義できる場合があります。以下の例は、Direct Discovery のソースとして使用される、ソース データベースの日付書式の定義方法を示しています。

Example:  

SET DirectDateFormat='YYYY-MM-DD';

生成された SQL ステートメントにおいて、Direct Discovery が金額値を書式設定する方法を制御するスクリプト変数は 2 つあります。

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

この 2 つの変数の構文は、MoneyFormatMoneyDecimalSep とで同じですが、使用の際には異なる重要な点が 2 つあります。

  • これは表示形式ではないので、通貨記号や桁区切りは含まれていません。
  • デフォルト値はロケールによって引き出されるのではなく、値に組み込まれているため変更できません。(ロケール固有の書式設定には通貨記号が含まれています)。

Direct Discovery では、SQL Server などの一部のデータベースで必要とされる、拡張された文字列リテラル (N'<extended string>') に対して SQL 標準形式を使用することで、拡張 Unicode データを選択することができます。この構文は、スクリプト変数 DirectUnicodeStrings を用いることで Direct Discovery での使用が可能になります。この変数を "true" に設定すると、文字列リテラルの前で "N" を使用できるようになります。

セキュリティ

以下のセキュリティにおけるベスト プラクティスは、Direct Discovery を使用する際に考慮に入れる必要があります。

  • Direct Discovery 機能を含む同じアプリケーションを使用するすべてのユーザーは、同じ接続を使用します。パススルー認証やユーザーごとの資格認証には、対応していません。
  • セクション アクセスはサーバー モードでのみサポートされています。
  • NATIVE キーワードの数式で、データベースのカスタム SQL ステートメントを実行できます。そのため、ロード スクリプトで設定されているデータベース接続は、データベース読み取り専用のアクセス権を持つアカウントを使用する必要があります。
  • Direct Discovery にはログ機能はありませんが、ODBC のトレース機能を使用できます。
  • データベースがクライアントのリクエストであふれることがあります。
  • このような場合には、サーバー ログ ファイルから詳細なエラー メッセージが発行されます。

サポート対象外の QlikView 機能

Direct Discovery の双方向的な SQL 構文特有の性質により、一部の機能には対応していません。

  • 高度な計算 (Set 分析、複雑な数式)
  • 計算軸
  • Direct Discovery 項目を使用するオブジェクトの比較分析 (並列ステート)
  • Direct DiscoveryMEASURE および DETAIL 項目は、検索ツール使用時には対応していません。
  • Direct Discovery テーブルにアクセスしているアプリケーションからのバイナリ ロード
  • ループと分割
  • Direct Discovery テーブルの合成キー
  • スクリプトにおけるテーブルの名前付けは、Direct Discovery テーブルには適用されません。
  • ロード スクリプト上の DIRECT QUERY キーワードに続くワイルド カード記号 * の使用 (DIRECT QUERY *)
  • OracleLONG データ型の列を含むデータベースのテーブルはサポートされていません。
  • 科学的記数法における大きな桁数の整数は、 [-9007199254740990, 9007199254740991] の範囲外の場合、丸めエラーおよび定義されていない動作を引き起こす可能性があります。