Tableau JDBC 功能自定义项参考

可在 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”以禁止使用 ODBC 批量操作进行数据插入。
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) 连接器连接到数据。

感谢您的反馈!您的反馈已成功提交。谢谢!