---
schema_version: "1"
id: 903d40dec815dddce1366c8045edba6678e867d5c7ce6e55a280b7a70b3d8c13
title: 其他数据库 (JDBC)
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/pro/desktop/examples_otherdatabases_jdbc.md
canonical_url: https://help.tableau.com/current/pro/desktop/zh-cn/examples_otherdatabases_jdbc.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 8b1d972a3a246dfedabecf6ed8415b672ea124e8f6019dace876e9fef6dc74e1
description: Connect Tableau to other databases using a generic JDBC connection.
---
[跳转到主要内容](#main-content)

# 其他数据库 (JDBC)

启动 Tableau 时，在“连接”下方，您可以看到 Tableau Desktop 支持的文件和数据库类型。选择“更多”以查看完整列表。对于支持的文件和数据库，Tableau 会提供为这些数据源构建和优化的内置连接器。

**重要信息：**如果“连接”下面列出了您的文件或数据库类型，请使用此命名连接器连接到您的数据。

如果“连接”下未列出您的文件或数据库类型，您或许能够使用“其他数据库 (JDBC)”连接器连接到数据库。JDBC（Java 数据库连接）是连接到数据库的标准方式。如果要连接到的数据库驱动程序实施 JDBC 标准，则您可以使用数据库的 JDBC 驱动程序和 Tableau 的“其他数据库 (JDBC)”连接器将 Tableau 连接到您的数据。

使用“其他数据库 (JDBC)”连接器时，您可能会注意到这种“通用”连接器和指定的 Tableau 连接器之间存在明显的性能差异，原因是通用 JDBC 连接不会利用指定连接器中使用的许多特定于连接的功能来优化性能。

## 开始之前

### 指定正确的 JDBC 驱动程序

JDBC 驱动程序是自包含的 .jar 文件。将 .jar 文件放在适用于您的操作系统的文件夹中。（创建该文件夹尚不存在，则需要创建它。）

- Windows：C:\\Program Files\\Tableau\\Drivers
- Mac：~/Library/Tableau/Drivers
- Linux：/opt/tableau/tableau\_driver/jdbc

**注意：**如果驱动程序仅包含单个 .jar 文件，只需将其复制到 C:\\Program Files\\Tableau/Drivers。如果驱动程序包含多个文件，请在 C:\\Program Files\\Tableau/Drivers 下创建子文件夹“A”，然后将所有文件复制到文件夹“A”。

还要注意以下要求：

- 您必须有 .jar 文件的读取权限。
- Tableau 需要 JDBC 4.0 或更高版本的驱动程序。
- Tableau 需要 Type 4 JDBC 驱动程序。

**注意：**为了防止密文被记录，您需要在对话框的密码字段或驱动程序属性中输入 JDBC 连接器的密文。

### 方言支持

“其他数据库 (JDBC)”连接器支持以下方言，这些方言用于确立 Tableau 对发送到数据库的 SQL 查询的转换方式：

- MySQL
- PostgreSQL
- Generic SQL-92

### 收集连接信息

收集以下连接信息：

- 要在连接时在 URL 字段中输入的 JDBC 连接字符串。请参阅驱动程序的文档，确保为您的 JDBC 驱动程序使用正确的格式。下面是一个示例：
    
    `jdbc:postgresql://www.exampledatabase.com:5432/databasename`
    
    - `jdbc` \- 始终使用 jdbc 前缀，否则将会禁用登录按钮。
    - `postgresql` \- 定义所使用的 JDBC 驱动程序的分类。Tableau 将在 Tableau 驱动程序文件夹中检查是否有匹配的驱动程序。JDBC 驱动程序有与之关联的子协议，例如 PostgreSQL 的 postgresql 或 MySQL 的 mysql。
    - `www.exampledatabase.com` \- 数据库服务器的网络地址。您可以使用主机名或 IP 地址。
    - `5432` – 数据库在指定网络地址处做出响应的端口。
    - `databasename` \- 数据库的名称或数据库服务器上的架构。
- 您使用的方言：MySQL、PostgreSQL 或 SQL-92。
- 用于登录到服务器的凭据：用户名和密码。
- （可选）用于自定义驱动程序行为的 JDBC 属性文件。有关详细信息，请参见 Tableau 社区中的[使用属性文件自定义 JDBC 连接](https://community.tableau.com/s/question/0D54T00000F339uSAB/customize-jdbc-connections-using-a-properties-file)。

## 建立连接

若要使用 JDBC 驱动程序连接到您的数据，请执行以下操作：

1. 启动 Tableau，并在“连接”下选择“其他数据库 (JDBC)”。有关数据连接的完整列表，请在“至服务器”下选择“更多”。
2. 在“URL”字段中输入 JDBC 连接字符串。
3. 从下拉列表中选择“方言”。
4. 输入用于登录到服务器的用户名和密码。
5. （可选）浏览到 JDBC 属性文件。使用属性文件时，它将覆盖类级别属性。
6. 选择“登录”。

**重要信息：**当您使用“其他数据库 (JDBC)”连接到数据库时，结果可能会有所不同，并且与 Tableau Desktop 功能的兼容性无法得到保证。

如果您的连接能够在您需要时发挥作用，则您可以开始进行分析。但是，如果您需要自定义 JDBC 连接以改善功能和提高性能，请参阅[另请参见](#see_also)下面的文章。

## 为发布和跨平台可移植性进行配置

使用通用 JDBC 连接时，需要进行其他配置，以确保您创建的工作簿和数据源可以在不同的计算机和平台上使用。

为了便于发布和实现跨平台可移植性，必须安装驱动程序来匹配工作簿或数据源连接。

例如，Ashley Garcia 创建了一个使用安装在其 Windows 计算机上的关联 JDBC 驱动程序进行连接的“其他数据库 (JDBC)”数据源。

Ashley 可以使用此数据源执行一些操作，以使其可供其他人使用。

- 她可以将其发布到 Tableau Server。当她这样做时，Ashley 需要请 Tableau Server 管理员在 Tableau Server 计算机上安装关联的 JDBC 驱动程序，以便 Ashley 和其他人可以访问该数据源。
- 她可以通过电子邮件将数据源发送给同事。Ashley 需要告诉同事在其计算机上安装关联的 JDBC 驱动程序，以便他们可以在 Tableau Desktop 中打开该数据源。

尝试打开使用“其他数据库 (JDBC)”连接器创建的工作簿或数据源时，如果您未安装 JDBC 驱动程序，您将看到一个包括 `No suitable driver` 消息的错误。若要解决此错误，请联系工作簿或数据源发布者或 Tableau Server 管理员，以获取与工作簿或数据源匹配的 JDBC 驱动程序。然后在您的计算机上安装该驱动程序。

## 查看数据

Tableau 可能未对您使用“其他数据库 (JDBC)”连接器所连接到的数据库进行过测试，因此请务必花一点时间查看您的数据，确保其反映预期结果。

若要检查元数据，请查看数据源页面上的数据选项卡和数据网格，确保看到正确的表和列，并且数据类型正确无误。

## 更改数据库

使用“其他数据库 (JDBC)”连接到数据时，您将在“URL”字段中的 JDBC 连接字符串内指定要连接到的数据库。连接之后，如果要更改为另一个数据库，则需要编辑连接字符串或使用新字符串添加新连接。否则，您将收到错误，并看到类似于以下示例的结果：

<table style="width: 100%;"><colgroup><col><col></colgroup><tbody><tr><td><b><span class="mc-variable Variables.TabsProductDesktop variable">Tableau Desktop</span></b></td><td><b>Tableau Prep Builder</b></td></tr><tr><td><img src="https://help.tableau.com/current/pro/desktop/zh-cn/Img/JDBC_error.png" alt="“无法完成操作”错误消息，表明表不存在。"></td><td><img src="https://help.tableau.com/current/pro/desktop/zh-cn/Img/JDBC_error2.png" alt="系统错误通知，表明表不存在。"></td></tr></tbody></table>

## Tableau 对“其他数据库 (JDBC)”连接的支持

Tableau 为使用“其他数据库 (JDBC)”的连接提供有限的客户支持。举例来说，如果您的连接在 Tableau Desktop 中起作用，但在 Tableau Server 中不起作用，则支持人员将为您提供帮助。但是，Tableau 不为创建或调试 JDBC 属性文件提供支持。有关帮助，您可以查看[另请参见](#see_also)下面列出的文档，并且您可以在 [Tableau 开发者社区论坛](https://community.tableau.com/s/topic/0TO4T000000QF9AWAW/data-connections)上提交问题并寻求帮助。

### 另请参见

[Tableau 和 JDBC](https://help.tableau.com/current/pro/desktop/zh-cn/jdbc_tableau.htm)– 提供提高性能和解决常见问题的提示。

Tableau 社区中的[使用属性文件自定义 JDBC 连接](https://community.tableau.com/s/question/0D54T00000F339uSAB/customize-jdbc-connections-using-a-properties-file)

Tableau 知识库中的[自定义 JDBC 连接](https://kb.tableau.com/articles/howto/customizing-jdbc-connections?lang=zh-cn)

## 此部分中的其他文章