您可在 Tableau 資料來源自訂 (TDC) 檔案中設定以下功能自訂項,藉此定義 JDBC 連線支援的 Tableau 功能。

其中許多自訂項會影響 Tableau 發出的 SQL 查詢的類型。對於未定義的設定,Tableau 會嘗試透過發出各種形式的 SQL 查詢,以實驗方式驗證哪些形式受支援,進而確定每個功能的適當值。

CAP_CREATE_TEMP_TABLES 如果 Tableau 可以建立某些複雜或優化的查詢所需的臨時表,則設定為「yes」。另請參閱:CAP_SELECT_INTO。
CAP_CONNECT_STORED_PROCEDURE 設定為「yes」以允許對連線到預存程序的支援。
CAP_FAST_METADATA 如果有小型到中型的架構,請設定為「yes」。此功能控制 Tableau 在您連線時是否應立即枚舉所有物件。將值設定為「yes」啟用此功能,以便在建立新連線時改善效能。停用此功能以允許搜尋特定的架構或表格,而不是檢索所有對象。可以透過使用空白字串來搜尋所有物件。9.0 及更高版本中提供了此功能。
CAP_ISOLATION_LEVEL_READ_COMMITTED 如果資料來源支援,則設定為「yes」以強制事務隔離層級為 Read Committed。應只將 4 個事務隔離層級中的一個設定為「yes」。另請參閱:CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_ISOLATION_LEVEL_READ_UNCOMMITTED 如果資料來源支援,則設定為「yes」以強制事務隔離層級為 Read Uncommitted。應只將 4 個事務隔離層級中的一個設定為 [yes] 。此功能可以透過減少鎖爭用來提高速度,但可能會導致查詢結果中的資料不完整或不一致。另請參閱:CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_ISOLATION_LEVEL_REPEATABLE_READS 如果資料來源支援,則設定為「yes」以強制事務隔離層級為 Repeatable Reads。應只將 4 個事務隔離層級中的一個設定為 [yes] 。另請參閱:CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_ISOLATION_LEVEL_SERIALIZABLE 如果資料來源支援,則設定為「yes」以強制事務隔離層級為 Serializable。應只將 4 個事務隔離層級中的一個設定為 [yes] 。這是一個非常保守的設定,它可以提高穩定性,但會降低效能。另請參閱:CAP_SET_ISOLATION_LEVEL_VIA_SQL。
CAP_JDBC_BIND_DETECT_ALIAS_CASE_FOLDING 設定為「yes」以允許 Tableau 偵測並從 JDBC 資料來源復原;該資料來源在結果集合中回報的欄位名稱僅會使用大寫或小寫字元,而非預期的欄位名稱。
CAP_JDBC_EXPORT_DATA_BATCH 設定為「no」以停用對資料插入使用 JDBC 批次作業。
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」以從 select * 查詢的結果集中取得欄中繼資料。在 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_QUERY 若 CAP_JDBC_METADATA_USE_RESULTSET_FOR_TABLE 已啟用,則將此功能設定為「yes」以停用準備用於讀取表中繼資料的查詢。我們將執行用 where-false 子句包裝的查詢。
CAP_JDBC_USE_ADAPTIVE_FETCH_SIZE 設定為「yes」以使用 ResultSet 中繼資料來確定最佳擷取大小。可能需要啟用 CAP_JDBC_QUERY_FORCE_PREPARE 才能正常工作。在 Tableau 2020.4 及更高版本中可用。
CAP_MULTIPLE_CONNECTIONS_FROM_SAME_IP 設定為「no」以阻止 Tableau 建立到資料庫的多個活動連線。這是一個保守的設定,它可以提高穩定性,但會降低效能。
CAP_QUERY_BOOLEXPR_TO_INTEXPR 如果 Tableau 必須將任何布林運算式強制轉換為整數值才能包括在結果集中,則設定為「yes」。
CAP_QUERY_FROM_REQUIRES_ALIAS 如果 FROM 子句必須為給定表提供別名,則設定為「yes」。
CAP_QUERY_GROUP_ALLOW_DUPLICATES 如果 SQL 查詢無法在 GROUP BY 子句中包含重複的運算式(這很罕見),則設定為「no」。
CAP_QUERY_GROUP_BY_ALIAS 如果 SQL 彙總查詢可以透過 SELECT 清單中的相應別名引用組合欄(例如 GROUP BY "none_ShipCountry_nk"。
CAP_QUERY_GROUP_BY_DEGREE 如果 SQL 彙總查詢可以透過每個欄的序號位置引用組合欄(例如 GROUP BY 2, 5),則設定為「yes」。另請參閱:CAP_QUERY_SORT_BY_DEGREE
CAP_QUERY_HAVING_REQUIRES_GROUP_BY 如果 Tableau 必須對具有 HAVING 子句但沒有組合欄的任何查詢使用假分組欄位,則設定為「yes」。
CAP_QUERY_HAVING_UNSUPPORTED 如果不支援 HAVING 的 SQL 語法,則設定為「yes」。Tableau 或許可以使用子查詢解決此問題。另請參閱:CAP_QUERY_SUBQUERIES。
CAP_QUERY_INCLUDE_GROUP_BY_COLUMNS_IN_SELECT 設定為「yes」以要求所有 GROUP BY 運算式還顯示在 SELECT 運算式清單中。
CAP_QUERY_JOIN_ACROSS_SCHEMAS 如果 SQL 查詢可以表示位於不同架構中的表之間的聯接,則設定為「yes」。
CAP_QUERY_JOIN_ASSUME_CONSTRAINED 設定為「yes」以便即使在資料庫表沒有 FK-PK 關係的情況下也剔除內部聯接。
CAP_QUERY_JOIN_PUSH_DOWN_CONDITION_EXPRESSIONS 設定為「yes」以便重寫聯接將 ON 子句條件簡化為簡單的識別字比較。
CAP_QUERY_JOIN_REQUIRES_SCOPE 如果 SQL 查詢必須將每個聯接子句用括弧括起來以確保正確的計算順序,則設定為「yes」。
CAP_QUERY_JOIN_REQUIRES_SUBQUERY 設定為「yes」以強制包括超過兩個表的聯接運算式由子查詢構成。
CAP_QUERY_NULL_REQUIRES_CAST 如果資料來源要求將所有 NULL 文本轉換為顯式資料類型,則設定為「yes」。
CAP_QUERY_SELECT_ALIASES_SORTED 如果 Tableau 必須對 SELECT 運算式施加確定順序(按別名排序)以確保查詢結果可以正確地與 Tableau 視覺效果中的每個欄位匹配,則設定為「yes」。只有隨查詢結果返回中繼資料時沒有保留 SELECT 運算式的別名的資料來源,才必須這麼做。
CAP_QUERY_SORT_BY_DEGREE 如果 SQL 查詢可以透過每個欄的序號位置引用排序欄(例如 ORDER BY 2, 5),則設定為「yes」。另請參閱: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_CONTEXT 設定為「yes」以強制 Tableau 使用上下文篩選器的子查詢而非臨時表或本地緩存的結果。
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_FUSION 設定為「no」以防止 Tableau 將多個單獨的查詢合併為一個合併的查詢。為了優化效能,或者,如果資料庫無法處理大型查詢,請關閉此功能。此功能預設情況下已啟用,並且在 Tableau 9.0 及更高版本中可用於除 Tableau 資料擷取外的所有資料來源。Tableau 9.0.6 中支援為 Tableau 資料擷取使用此功能。
CAP_SELECT_INTO 如果 Tableau 可以從其他查詢的結果集動態建立表,則設定為「yes」。另請參閱:CAP_CREATE_TEMP_TABLES。
CAP_SELECT_TOP_INTO 如果 Tableau 在以查詢結果集建立表格時可以使用 TOP 或 LIMIT 列限制子句,則設定為「yes」。
CAP_SET_ISOLATION_LEVEL_VIA_SQL 設定為「yes」以強制 Tableau 使用 SQL 查詢為資料來源設定事務隔離層級。當 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_QUERIES 設定為「yes」以阻止 Tableau 檢測各種子句的受支援的 SQL 語法。
CAP_SUPPRESS_DISPLAY_LIMITATIONS 設定為「yes」以抑制顯示有關此資料來源的限制的任何警告。

另請參閱

其他資料庫 (JDBC) – 描述如何使用其他資料庫 (JDBC) 連接器連線到資料。

感謝您的意見回饋!