---
schema_version: "1"
id: 770ef5bee48e01e2387de934e6525638595d5b29cf7fb8a97a86f60e3f61e999
title: 自定义本机连接器的连接字符串
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/public/desktop/connect_string_custom.md
canonical_url: https://help.tableau.com/current/public/desktop/zh-cn/connect_string_custom.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 1f0e4c6db9b342a29b338054fc97cc9ce9de2da8a4385e02ed7304a73dcd1b8b
description: Customize a native connector's connection string using a TDC file and odbc-connect-string-extras.
---
[跳转到主要内容](#main-content)

# 自定义本机连接器的连接字符串

有时您可能需要修改使用本机连接器建立的连接。您可以通过创建 TDC（Tableau 数据源自定义项）文件来实现此目的，该文件使用 odbc-connect-string-extras 自定义项将配置更改传递给连接。

本文适用于使用 ODBC 驱动程序的连接器。

> [!IMPORTANT]
> 
> **重要信息**：TDC 文件可用于定制连接的功能或诊断和解决与连接数据相关的问题。Tableau 无法彻底测试您可能对这些文件进行的所有潜在修改。创建和使用 TDC 文件需要手动编辑，并且在将其部署到生产环境之前对其进行彻底测试至关重要。

## 修改连接字符串

当 Tableau 使用 ODBC 驱动程序连接时，它会创建连接字符串并将其传递给驱动程序管理器。连接字符串标识驱动程序并包含驱动程序的所有参数。

以下是一个示例连接字符串：

DRIVER=BagelDB Driver;SERVER=bageldb.lan;UID=creamcheese;PWD=bagel;

假设您想用 BagelDB Driver 2.0 覆盖 BagelDB Driver 的 DRIVER 值并添加端口号。传递给驱动程序管理器的连接字符串将被修改为：

DRIVER=BagelDB Driver 2.0;SERVER=bageldb.lan;UID=creamcheese;PWD=bagel;PORT=54321

您可以使用 TDC 和 **odbc-connect-string-extras** 标签来修改连接字符串参数。一般来说，唯一可以被覆盖的参数是 DRIVER。其他参数附加到连接字符串的末尾。请参见下面的操作方法“使用 TDC 文件”。

**注意**：由于安全限制，Tableau Online 对 **odbc-connect-string-extras** 自定义项的支持有限。某些参数可能不受支持。

### 使用允许列表降低安全风险

> [!IMPORTANT]
> 
> **重要信息**：以下过程需要由 Tableau Server 管理员在 Tableau Server 上完成，并且应由您的 IT 部门评估其是否符合您组织的安全指南。

**Odbc-connect-string-extras** 自定义项可能会带来安全风险。您的 Tableau Server 管理员可以通过在允许列表（也称为安全列表）中指定已批准参数列表来管理此风险：

- odbc-connect-string-extras 指定的任何不在列表中的参数都会被筛选掉。
- 如果列表中未指定任何参数，则允许所有参数。

允许列表是一个以逗号分隔的列表，中间没有空格。

例如，要将参数 **UseDeclareFetch** 和 **App** 添加到安全列表，请运行以下命令：

tsm configuration set -k native\_api.ODBCConnectStringSecurityList -v UseDeclareFetch,App --force-keys

tsm pending-changes apply

有关运行 tsm 命令的信息，请参见 Tableau Server 帮助中的 [tsm 命令行参考](https://help.tableau.com/current/server/zh-cn/tsm.htm)。

### 使用 TDC 文件

TDC 文件是一个 XML 文件，其中包含供应商名称、驱动程序名称以及 `<connection-customization>`部分，其中可包含多种类型的自定义项（连接connection字符串和连接功能的自定义项）。对于本机连接器，供应商名称和驱动程序名称必须与连接器的类名称匹配。请参见下面的“本机连接器类列表”以了解各个值。任何已具有启用的自定义项部分的现有工作簿或数据源文件将仅使用嵌入式自定义项（而不是 TDC 文件）。

创建 TDC 文件后，您必须将其保存到 `Datasources` 文件夹，以便可供连接使用。如果创建想要发布到 Tableau Server 的工作簿，或者使用Tableau Prep 或 Tableau Bridge，则您还需要为这些产品将 TDC 文件保存到 `Datasources` 目录。有关详细信息，请参见[安装 tdc 和属性文件](https://help.tableau.com/current/public/desktop/zh-cn/connect_customize.htm#Publishing)。

**注意**：如果使用自定义 odbc-extras 创建数据源或工作簿，则该信息将嵌入在连接属性中。因此，您可以将工作簿或数据源发布到 Tableau Server，而无需在 Tableau Server 上安装 TDC 文件。

在 TDC 文件中，可以使用 **odbc-connect-string-extras** 自定义项将属性附加到连接字符串或覆盖 DRIVER 属性。

### 创建 TDC 文件

1. 打开纯文本编辑器（例如记事本或 Notepad++）。
2. 复制下面提供的示例中的信息，将其粘贴到文本文件中，然后指定类、供应商名称和驱动程序名称值。对于本机 Tableau 连接器，请为类、供应商名称和驱动程序名称使用相同的值。
3. 使用 .tdc 扩展名（例如 `mybagel.tdc`）将文件保存到每个 Tableau 产品的 `Datasources` 文件夹。有关详细信息，请参见[安装 tdc 和属性文件](https://help.tableau.com/current/public/desktop/zh-cn/connect_customize.htm#Publishing)。
4. 输入要对连接进行的自定义内容。

<connection-customization class='bagelDB' enabled='true' version='19.1'>  
<vendor name='bagelDB' />  
<driver name='bagelDB' />  
 <customizations>  
   <customization name='odbc-connect-string-extras' value='DRIVER=BagelDB Driver 2.0;PORT=54321' />  
 </customizations>  
</connection-customization>

## 本机连接器类列表

在下面的列表中找到您的连接器（采用 <连接器>:<类> 格式列出），获取自定义 TDC 文件所需的类值。

- Actian Matrix: paraccel
- Actian Vector: vectorwise
- Amazon Aurora: aurora
- Amazon EMR (Hive): awshadoophive
- Amazon Redshift: redshift
- Spark SQL: spark
- Aster Database: asterncluster
- Azure SQL Data Warehouse: azure\_sql\_dw
- Cloudera Hadoop: hadoophive
- Denodo: denodo
- Exasol : exasolution
- Firebird : firebird
- Google BigQuery JDBC: googlebigquery
- Google Cloud SQL: googlecloudsql
- Hortonworks Hadoop Hive: hortonworkshadoophive
- IBM: BigInsights bigsql
- IBM DB2: db2
- IBM PDA (Netezza): netezza
- Kognitio: kognitio
- MapR Hadoop Hive: maprhadoophive
- MariaDB: mariadb
- MarkLogic: marklogic
- MemSQL: memsql
- Microsoft SQL Server: sqlserver
- MonetDB: monetdb
- MongoDB BI Connector: mongodb
- MySQL: mysql
- Oracle Essbase: essbase
- 其他数据库 (ODBC): genericodbc
- Pivotal Greenplum Database: greenplum
- PostgreSQL: postgres
- Presto: presto
- Progress OpenEdge: progressopenedge
- SAP HANA: saphana
- SAP Sybase ASE: sybasease
- SAP Sybase IQ: sybaseiq
- Snowflake: snowflake
- Splunk: splunk
- Teradata: teradata
- Tibco Data Virtualization: composite
- Vertica: vertica