Tableau JDBC 機能のカスタマイズの参考資料

JDBC 接続で対応する Tableau 機能を定義するため、Tableau Datasource Customization (TDC) ファイルで次の機能のカスタマイズを設定できます。

これらのカスタマイズ内容の多くは、Tableau が発行する SQL クエリ型に影響します。定義されていない設定の場合、Tableau はさまざまな形式の SQL クエリを発行して経験的にどの形式に対応しているのかを確認することで、各機能の適切な値を決定しようとします。

CAP_CREATE_TEMP_TABLESTableau が特定の複雑なクエリや最適化されたクエリに必要な一時テーブルを作成することができる場合、「yes」に設定します。CAP_SELECT_INTO も参照してください。
CAP_CONNECT_STORED_PROCEDUREストアド プロシージャへの接続に対応することを許可する場合は、「yes」に設定します。
CAP_FAST_METADATAスキーマが小規模から中規模の場合は、「yes」に設定します。この機能は、Tableau が接続直後にすべてのオブジェクトを列挙するかどうかを制御します。値を「yes」に設定するとこの機能が有効になり、新規接続の作成時のパフォーマンスが改善されます。この機能を無効にすると、すべてのオブジェクトを取得する代わりに、特定のスキーマやテーブルを検索できます。空の文字列を使用すると、すべてのオブジェクトを検索できます。この機能は、9.0 以降で使用できます。
CAP_ISOLATION_LEVEL_READ_COMMITTEDデータ ソースで対応している場合、強制的にトランザクション分離レベルを "Read Committed" にするには、「yes」に設定します。4 つのトランザクション分離レベルのうち、1 つのみを「yes」に設定します。次も参照してください: CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_ISOLATION_LEVEL_READ_UNCOMMITTEDデータ ソースで対応している場合、強制的にトランザクション分離レベルを "Read Uncommitted" にするには、「yes」に設定します。4 つのトランザクション分離レベルのうち、1 つのみを「yes」に設定します。この機能はロック競合を減らすことにより速度を向上させる可能性がありますが、クエリ結果のデータが部分的または一貫性のない状態になる可能性があります。次も参照してください: CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_ISOLATION_LEVEL_REPEATABLE_READSデータ ソースで対応している場合、強制的にトランザクション分離レベルを "Repeatable Reads" にするには、「yes」に設定します。4 つのトランザクション分離レベルのうち、1 つのみを「yes」に設定します。次も参照してください: CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_ISOLATION_LEVEL_SERIALIZABLEデータ ソースで対応している場合、強制的にトランザクション分離レベルを "Serializable" にするには、「yes」に設定します。4 つのトランザクション分離レベルのうち、1 つのみを「yes」に設定します。これは非常に標準的な設定で、パフォーマンスは低下しますが、安定性は向上する可能性があります。次も参照してください: CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_JDBC_BIND_DETECT_ALIAS_CASE_FOLDINGTableau で、予想されるフィールド名ではなく、大文字や小文字のみを使用する結果セットのフィールド名を報告する JDBC データ ソースを検出し、それから復元を許可するには、「yes」に設定します。
CAP_JDBC_EXPORT_DATA_BATCHJDBC 一括操作をデータの挿入に使用するのを無効するには、「no」に設定します。
CAP_JDBC_METADATA_GET_INDEX_INFOインデックス情報の読み取りを無効にするには、「no」に設定します。
CAP_JDBC_METADATA_READ_FOREIGNKEYS外部キー メタデータの読み取りを無効にするには、「no」に設定します。
CAP_JDBC_METADATA_READ_PRIMARYKEYSプライマリ キー メタデータの読み取りを無効にするには、「no」に設定します。
CAP_JDBC_METADATA_USE_RESULTSET_FOR_TABLE選択 * クエリの結果セットから列のメタデータを取得するには、「yes」に設定します。Tableau 2020.4 以降で使用できます。
CAP_JDBC_QUERY_ASYNC別のスレッドでクエリを実行するには、「yes」に設定します。
CAP_JDBC_QUERY_CANCELドライバーがクエリをキャンセルできる場合は、「yes」に設定します。
CAP_JDBC_QUERY_DISABLE_AUTO_COMMITクエリの実行時に既定の自動コミット モードを無効にするには、「yes」に設定します。Tableau 2020.4 以降で使用できます。
CAP_JDBC_QUERY_FORCE_PREPARE実行前に常にクエリを準備するには、「yes」に設定します。Tableau 2020.4 以降で使用できます。
CAP_JDBC_SUPPRESS_EMPTY_CATALOG_NAME欠落しているカタログを無視するには、「yes」に設定します。
CAP_JDBC_SUPPRESS_ENUMERATE_DATABASESデータベースの列挙を無効にするには、「yes」に設定します。
CAP_JDBC_SUPPRESS_ENUMERATE_SCHEMASスキーマの列挙を無効にするには、「yes」に設定します。
CAP_JDBC_METADATA_SUPPRESS_PREPARED_QUERYCAP_JDBC_METADATA_USE_RESULTSET_FOR_TABLE が有効になっている場合は、この機能を「yes」に設定して、テーブル メタデータの読み取りに使用されるクエリの準備を無効にします。where-false 句でラップされたクエリを実行します。
CAP_JDBC_USE_ADAPTIVE_FETCH_SIZEResultSet メタデータを使用して最適な取得サイズを決定するには、「yes」に設定します。正しく動作するためには、CAP_JDBC_QUERY_FORCE_PREPARE を有効にする必要がある場合があります。Tableau 2020.4 以降で使用できます。
CAP_MULTIPLE_CONNECTIONS_FROM_SAME_IPTableau がデータベースへの 1 つを超えるアクティブな接続を作成するのを防ぐには、「no」に設定します。これは標準的な設定で、パフォーマンスは下がりますが、安定性は高まる可能性があります。
CAP_QUERY_BOOLEXPR_TO_INTEXPRTableau で、任意のブール式を整数値にし、結果セットに含める必要がある場合は、「yes」に設定します。
CAP_QUERY_FROM_REQUIRES_ALIASFROM 句で、特定のテーブルに別名を提供する必要がある場合は、「yes」に設定します。
CAP_QUERY_GROUP_ALLOW_DUPLICATESSQL クエリで GROUP BY 句に重複する式を含めることができない場合は、「no」に設定します (一般的ではありません)。
CAP_QUERY_GROUP_BY_ALIAS集計のある SQL クエリで、SELECT 一覧の対応する別名よりグループ化列を参照することができる場合は、「yes」に設定します。例:GROUP BY "none_ShipCountry_nk"。
CAP_QUERY_GROUP_BY_DEGREE集計のある SQL クエリで、各列の位置よりグループ化列を参照することができる場合は、「yes」に設定します。例:GROUP BY 2, 5。CAP_QUERY_SORT_BY_DEGREE も参照してください。
CAP_QUERY_HAVING_REQUIRES_GROUP_BYTableau で、HAVING 句はあるもののグループ化列のない任意のクエリで人工グループ化フィールドを使用する必要がある場合、「yes」に設定します。
CAP_QUERY_HAVING_UNSUPPORTEDHAVING の SQL 構文に対応していない場合、「yes」に設定します。Tableau では、サブクエリを使用してこれを回避することができる場合があります。CAP_QUERY_SUBQUERIES も参照してください。
CAP_QUERY_INCLUDE_GROUP_BY_COLUMNS_IN_SELECTすべての GROUP BY 式が SELECT 式一覧にも表示されるよう要求するには、「yes」に設定します。
CAP_QUERY_JOIN_ACROSS_SCHEMASSQL クエリが、異なるスキーマに位置するテーブルの結合を表すことができる場合、「yes」に設定します。
CAP_QUERY_JOIN_ASSUME_CONSTRAINEDデータベース テーブルに FK-PK 関係がない場合でも内部結合をカリングするには、「yes」に設定します。
CAP_QUERY_JOIN_PUSH_DOWN_CONDITION_EXPRESSIONS結合を書き換えて ON 句の条件を単純化してシンプルな識別子の比較にするには、「yes」に設定します。
CAP_QUERY_JOIN_REQUIRES_SCOPE正しい評価順にするために、SQL クエリがかっこ内のそれぞれの結合句を詳細に調べる必要がある場合、「yes」に設定します。
CAP_QUERY_JOIN_REQUIRES_SUBQUERYサブクエリで構成される 2 つを超えるテーブルを含む結合式を強制するには、「yes」に設定します。
CAP_QUERY_NULL_REQUIRES_CASTデータ ソースですべての NULL リテラルが 1 つの明示的なデータ型であることが要求される場合、「yes」に設定します。
CAP_QUERY_SELECT_ALIASES_SORTEDTableau で、SELECT 式 (別名ごとに並べ替え) に対して決定的な命令を出し、Tableau 視覚化でクエリ結果と各フィールドを正しく一致させる必要がある場合、「yes」に設定します。これは、クエリ結果を含むメタデータが返されるときに SELECT 式の別名を保存しないデータ ソースの場合にのみ要求されます。
CAP_QUERY_SORT_BY_DEGREESQL クエリが、各列の順序位置に基づいて並べ替え列を参照することができる場合は、「yes」に設定します。例:ORDER BY 2, 5。CAP_QUERY_GROUP_BY_DEGREE も参照してください。
CAP_QUERY_SUBQUERIESデータ ソースがサブクエリに対応している場合、「yes」に設定します。
CAP_QUERY_SUBQUERIES_WITH_TOPデータ ソースがサブクエリ内の TOP や LIMIT 行制限句に対応している場合、「yes」に設定します。
CAP_QUERY_SUBQUERY_DATASOURCE_CONTEXTサブクエリでフィルターされたクエリ コンテキストを使用してデータ ソース フィルターを実装するには、「yes」に設定します。この機能は、Tableau 8.0 から Tableau 9.3 でのみ使用できます。
CAP_QUERY_SUBQUERY_QUERY_CONTEXTTableau で、一時テーブルとローカルでキャッシュした結果ではなく、コンテキスト フィルターのサブクエリを強制的に使用するには、「yes」に設定します。
CAP_QUERY_TOP_Nデータ ソースが任意の形式の行制限句に対応している場合、「yes」に設定します。対応している正確な形式は、次のとおりです。
CAP_QUERY_TOPSTYLE_LIMITデータ ソースが行制限句として LIMIT を使用する場合、「yes」に設定します。
CAP_QUERY_TOPSTYLE_ROWNUMデータ ソースが行制限句として、ROWNUM に関して Oracle スタイルのフィルターに対応している場合、「yes」に設定します。
CAP_QUERY_TOPSTYLE_TOPデータ ソースが行制限句として TOP を使用する場合、「yes」に設定します。
CAP_QUERY_USE_QUERY_FUSIONTableau が複数の個々のクエリを 1 つのクエリにまとめるのを回避するには、「no」に設定します。パフォーマンスを調整する必要がある場合、またはデータベースが大量のクエリを処理できない場合は、この機能をオフにします。この機能は既定では有効で、Tableau 9.0 以降の Tableau データ抽出を除くすべてのデータ ソースで使用できます。Tableau 9.0.6 から、Tableau データ抽出でこの機能に対応しています。
CAP_SELECT_INTOTableau が別のクエリの結果セットのフライに関するテーブルを作成することができる場合、「yes」に設定します。CAP_CREATE_TEMP_TABLES も参照してください。
CAP_SELECT_TOP_INTOTableau がクエリの結果セットからテーブルを作成するときに TOP や LIMIT 行制限句を使用できる場合は、「yes」に設定します。
CAP_SET_ISOLATION_LEVEL_VIA_SQLTableau で、SQL クエリを使用しているデータ ソースのトランザクション分離レベルを強制的に設定するには、「yes」に設定します。4 つの CAP_ISOLATION_LEVEL 機能のいずれかが「yes」に設定されている場合、CAP_SET_ISOLATION_LEVEL_VIA_SQL を「yes」に設定する必要があります。
CAP_STORED_PROCEDURE_PREFER_TEMP_TABLE一時テーブルを使用して、ストアド プロシージャ結果セットに対するリモート クエリに対応するには、「yes」に設定します。
CAP_STORED_PROCEDURE_REPAIR_TEMP_TABLE_STRINGSメタデータで幅が示されない場合や正数以外の幅が示される場合に実際の文字列の幅を計算するには、「yes」に設定します。
CAP_STORED_PROCEDURE_TEMP_TABLE_FROM_BUFFER一時テーブルにバッファされた結果セットをそのまま設定するには、「yes」に設定します。
CAP_STORED_PROCEDURE_TEMP_TABLE_FROM_NEW_PROTOCOLこの操作で作成された別のプロトコルから一時テーブルにデータを設定するには、「yes」に設定します。
CAP_SUPPRESS_DISCOVERY_QUERIESTableau で、対応しているさまざまな句の SQL 構文を検出するのを防ぐには、「yes」に設定します。
CAP_SUPPRESS_DISPLAY_LIMITATIONSこのデータ ソースの制限に関するすべての警告を非表示にするには、「yes」に設定します。

関連項目

その他のデータベース (JDBC) – その他のデータベース (JDBC) コネクタを使用してデータに接続する方法を説明します。

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!