---
schema_version: "1"
id: 29294a967a41bbe1912db08a7d6f663dad4a626e5211d9945f4e6008f245d3f9
title: Tableau 和 JDBC
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/pro/desktop/jdbc_tableau.md
canonical_url: https://help.tableau.com/current/pro/desktop/zh-tw/jdbc_tableau.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 23d555e3a2ebf4521dd3144f8ee150d75a2ced410db920a060a81c2b8e6fb84a
description: Understand how Tableau uses JDBC drivers and how to tune their performance.
---
[跳至主要內容](#main-content)

# Tableau 和 JDBC

Tableau 支援多個連接器的 JDBC（Java 資料庫連線）驅動程式。這包括正式命名的連接器，例如 Athena，以及用於其他 JDBC 型驅動程式的一般連接器，稱為**其他資料庫 (JDBC)。**

JDBC 需要 JAVA，這使得它不倚靠平台。從版本 2020.2 開始，所有 Tableau 應用程式都與 Java Runtime 時綁定，因此您不用分開安裝。

**附註：**若使用的是 2020.2 之前的 Tableau Desktop 版本，請參閱[驅動程式下載](https://www.tableau.com/zh-tw/support/drivers)頁面，以取得有關安裝 Java 的說明。

## 調整 JDBC 連接器效能

Tableau 支援自訂 JDBC 資料連線的功能，這可以改善連線體驗。有關詳情，請參閱[自訂和調整連線](https://help.tableau.com/current/pro/desktop/zh-tw/connect_customize.htm)。

## 針對 JDBC 連線的 Tableau 支援

Tableau 不保證使用具有任何特定 JDBC 驅動程式或資料庫的**其他資料庫 (JDBC)** 連接器將能夠成功連線和查詢資料。有些 JDBC 驅動程式支援完整 Tableau 互動式體驗，而有些驅動程式可能僅可用於建立擷取。某些 JDBC 驅動程式可能無法與 Tableau 搭配工作。

附註：Tableau 將提供合理的客戶支援層級來說明排除使用 JDBC 驅動程式進行連線的故障，但無法建立或自訂連接器來處理特定的 JDBC 驅動程式。

## 常見問題

以下是一些常見問題和解決步驟的清單。

我看到一條「缺少 Java」的訊息。現在怎麼辦？

若使用的是 2020.2 之前的 Tableau 版本，或在 Windows 上使用 Kerberos，有時會發生這種情況。參閱[驅動程式下載](https://www.tableau.com/zh-tw/support/drivers)頁面獲得為連接器安裝正確版本 Java 的說明。

從版本 2020.2 開始，所有 Tableau 應用程式都與 Java Runtime 時綁定，因此您不會遇到此錯誤。

**我看到一條「缺少驅動程式」的訊息。我該怎麼辦？**

在以下路徑之一中安裝驅動程式及其所依賴的任何資料庫：

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

確保執行 Tableau 的使用者或 Tableau 服務使用者可讀取驅動程式。

**我為 Tableau 安裝了多個 JDBC 驅動程式，但連線時遇到問題。我該怎麼辦？**

如果您為 Tableau 安裝了多個 JDBC 驅動程式，它們可能使用不同的版本的同一第三方資料庫。這可能會導致不可預知的問題。如果在連線時出現奇怪的錯誤，且 JDBC 驅動程式資料夾中安裝了多個 JDBC 驅動程式，則可以透過以下步驟來隔離它們。

假設您在 JDBC 資料夾中安裝了這些資料庫：

- athena-driver.jar
- athena-dependency.jar
- athena-dependency.so
- postgres-driver.jar

要將 Athena 驅動程式與 Postgres 驅動程式隔離，請將它們安裝在分開的的子目錄中:

- Athena/athena-driver.jar
- Athena/athena-dependency.jar
- Athena/athena-dependency.dll
- Postgres/postgres-driver.jar

移動驅動程式後，請重新啟動 Tableau。

**我看到一條「ClassNotFoundException」或類似的訊息。我該怎麼辦？**

若執行的 JDBC 驅動程式與 Java 11 不相容，則可能會在執行 Tableau 時遇到問題。

如果您認為您的問題可能是由 JAVA 11 引起的：

1. 從 AdoptOpenJDK 下載 Java 64 位元 JRE（Java 執行時環境）或 JDK（JAVA 開發工具套件）：
    1. 前往 [](https://adoptopenjdk.net/releases.html)https://adoptopenjdk.net/releases.html
    2. 選擇「**OpenJDK 11**」，然後選擇「**熱點**」。
    3. 選擇「**其他平台**」可檢視選項的完整清單。
    4. 下載您的作業系統的 JRE 或 JDK。
2. 在執行 Tableau 的電腦上，設定以下環境變數之一：
    
    TABLEAU\_JAVA\_HOME=C:\\Program Files\\AdoptOpenJDK\\jre-8.0.232.09-hotspot
    
    或
    
    TABLEAU\_JAVA\_HOME=C:\\Program Files\\AdoptOpenJDK\\jdk-8.0.252.09-hotspot

**如何解決 proxy 問題？**

從版本 2019.4 開始，當 Tableau 在 Windows 上執行時，它透過啟用 [Java](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html) 的選項 `useSystemProxies` 來讀取 proxy設定。

在某些情況下，這可能會造成問題。例如，如果選擇「所有協定都使用相同的 proxy 伺服器」，Java 虛擬機器將嘗試使用 SOCKS proxy。

若要尋找解決此問題的說明，請參閱 Tableau 知識庫文章[Tableau 無法透過 Proxy 連線到 Amazon Athena 時出現錯誤代碼 37CE01A3](https://kb.tableau.com/articles/issue/tableau-desktop-fails-to-connect-to-amazon-athena-through-proxy-with-error-code-37ce01a3?lang=zh-tw)。本文特別提到 Athena，但這適用於任何 JDBC 連接器。

**使用 SSL 連接到伺服器時遇到問題。我可以嘗試什麼？**

若看到錯誤訊息，如「找不到 SSL 驗證路徑」，可能需要設定憑證或私密金鑰。

檢視 [JDBC 連線的單向 SSL](https://help.tableau.com/current/pro/desktop/zh-tw/jdbc_ssl_config.htm) 獲得使用憑證的說明 。若使用的是 Oracle JDBC 驅動程式，請參閱[需要 SSL 的 Oracle JDBC 連線](https://help.tableau.com/current/pro/desktop/zh-tw/jdbc_oracle_ssl_config.htm)，以取得有關使用適當的憑證和/或金鑰進行連線的資訊。

**若透過 Postgres JDBC 驅動程式使用其他資料庫 (JDBC) 連接器，建立擷取的嘗試有時會失敗。我可以嘗試什麼？**

若未設定 Postgres 驅動程式擷取大小並且已啟用自動認可，則可能會遇到錯誤。驅動程式將嘗試一次處理太多資料，但無法處理。

請嘗試以下操作：

1. 使用 defaultRowFetchSize 設定資料的擷取大小。
    
    有關詳情，請參閱 PostgreSQL 網站上的 [JDBC 驅動程式](https://jdbc.postgresql.org/documentation/head/connect.html)頁面。
2. 透過建立（或編輯現有的）TDC 檔案來停用自動認可。在 TDC 檔案中包括以下內容：
    
    `<?xml version='1.0' encoding='utf-8' ?>   <connection-customization class="genericjdbc" enabled="true" version="10">   <vendor name="genericjdbc"/>   <driver name="postgresql"/>   <customizations>   <customization name="CAP_JDBC_QUERY_DISABLE_AUTO_COMMIT" value="yes"/>   </customizations>   </connection-customization>`
    
    **附註：**雖然在使用其他資料庫 (JDBC) 連接器時需要執行此步驟，但對於已命名的 Tableau 連接器則不需要，因為預設情況下已設定自動認可。
    
    有關將 TDC 檔案用於 JDBC 連線的詳情，請參閱[自訂和調整連線](https://help.tableau.com/current/pro/desktop/zh-tw/connect_customize.htm)。

### 另請參閱

[其他資料庫 (JDBC)](https://help.tableau.com/current/pro/desktop/zh-tw/examples_otherdatabases_jdbc.htm) – 描述如何使用一般 JDBC 連接器連線到資料。

[自訂和調整連線](https://help.tableau.com/current/pro/desktop/zh-tw/connect_customize.htm) - 介紹如何使用 TDC 和 .properties 檔案自訂連線。

[JDBC 連線的單向 SSL](https://help.tableau.com/current/pro/desktop/zh-tw/jdbc_ssl_config.htm) – 提供使用 JDBC 驅動程式憑證存取具有 SSL 伺服器的說明。

[Tableau JDBC 功能自訂項參考](https://help.tableau.com/current/pro/desktop/zh-tw/jdbc_capabilities.htm) - 列出可用於定義資料來源支援的 Tableau 功能的自訂項。