

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定適用於 Amazon Redshift 的 JDBC 驅動器 2.x 版的連線
<a name="jdbc20-install"></a>

您可以從許多第三方 SQL 用戶端工具使用 JDBC 驅動器 2.x 版連線來連線至 Amazon Redshift 叢集。Amazon Redshift JDBC 連接器會提供開放原始碼的解決方案。您可以瀏覽原始碼、請求增強功能、回報問題並提供貢獻。

如需 JDBC 驅動器變更的最新資訊，請參閱[變更日誌](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md)。

依預設，Amazon Redshift JDBC 驅動程式會設定為使用 TCP 保持連線，以防止連線逾時。您可以指定驅動程式何時開始傳送保持連線封包，或在連線 URL 中設定相關屬性來關閉此功能。如需連線 URL 語法的相關資訊，請參閱[建置連線 URL](jdbc20-build-connection-url.md)。


| 屬性 | Description | 
| --- | --- | 
|  `TCPKeepAlive`  |  若要關閉 TCP 保持連線，請將此屬性設定為 `FALSE`。  | 

**Topics**
+ [下載 Amazon Redshift JDBC 驅動程式 2.1 版](jdbc20-download-driver.md)
+ [安裝 Amazon Redshift JDBC 驅動程式 2.2 版](jdbc20-install-driver.md)
+ [取得 JDBC URL](jdbc20-obtain-url.md)
+ [建置連線 URL](jdbc20-build-connection-url.md)
+ [使用 Apache Maven 設定 JDBC 連線](configure-jdbc20-connection-with-maven.md)
+ [設定身分驗證和 SSL](jdbc20-configure-authentication-ssl.md)
+ [設定 記錄](jdbc20-configuring-logging.md)
+ [資料類型轉換](jdbc20-data-type-mapping.md)
+ [使用預備陳述式支援](jdbc20-prepared-statement-support.md)
+ [JDBC 驅動程式的 2.2 和 1.x 版本之間的差異](jdbc20-jdbc10-driver-differences.md)
+ [建立 JDBC 驅動器 2.x 版的初始化 (.ini) 檔案](jdbc20-ini-file.md)
+ [JDBC 驅動器 2.x 版組態的選項](jdbc20-configuration-options.md)
+ [JDBC 驅動器 2.x 版之前的版本](jdbc20-previous-driver-version-20.md)

# 下載 Amazon Redshift JDBC 驅動程式 2.1 版
<a name="jdbc20-download-driver"></a>

**注意**  
Amazon Redshift JDBC 2.x 驅動器並非專為執行緒安全所設計。若有兩個或多個執行緒嘗試以並行方式使用相同連線，可能會導致死結、錯誤、不正確的結果或其他非預期的行為。  
如果您擁有多執行緒應用程式，建議您同步驅動器的存取，以避免並行存取。

Amazon Redshift 為與 JDBC 4.2 API 相容的工具提供了驅動程式。此驅動程式的類別名稱為 `com.amazon.redshift.Driver`。

如需如何安裝 JDBC 驅動程式、參考 JDBC 驅動程式庫，以及註冊驅動程式類別的詳細資訊，請參閱下列主題。

對於您使用 Amazon Redshift JDBC 驅動器 2.x 版的每部電腦，請確定其已安裝 Java 執行階段環境 (JRE) 8.0。

如果您使用 Amazon Redshift JDBC 驅動程式進行資料庫身分驗證，請確定您在 Java 類別路徑中具有 適用於 Java 的 AWS SDK 1.11.118 或更新版本。如果您尚未 適用於 Java 的 AWS SDK 安裝 ，請使用 AWS 開發套件的 JDBC 4.2 相容驅動程式和驅動程式相依程式庫下載 ZIP 檔案：
+ [JDBC 4.2 相容驅動程式 2.x 版和 AWS SDK 驅動程式相依程式庫](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.zip) 

  此 ZIP 檔案包含 JDBC 4.2 相容驅動器 2.x 版和適用於 Java 的 AWS SDK 1.x 驅動器相依程式庫檔案。將相依 jar 檔案解壓縮到與 JDBC 驅動程式相同的位置。只有 JDBC 驅動程式需要在 CLASSPATH 中。

  此 ZIP 檔案不包含適用於 Java 1.x 的完整 AWS SDK。不過，它包含 AWS Identity and Access Management (IAM) 資料庫身分驗證所需的適用於 Java 的 AWS SDK 1.x 驅動程式相依程式庫。

  將此 Amazon Redshift JDBC 驅動程式與 IAM 資料庫身分驗證所需的 AWS SDK 搭配使用。

  若要安裝適用於 Java 1.x 的完整 AWS 開發套件，請參閱《 *適用於 Java 的 AWS SDK 開發人員指南*》中的[AWS 適用於 Java 1.x 的開發套件](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/welcome.html)。
+ 與 [JDBC 4.2 相容的驅動程式 2.x 版 （不含 AWS SDK)](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.jar) 

檢閱 JDBC 驅動器 2.x 版軟體授權和變更日誌檔案：
+ [JDBC 驅動器 2.x 版授權](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/LICENSE) 
+ [JDBC 驅動器 2.x 版變更日誌](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md)

JDBC 驅動程式 1.2.27.1051 版和更新版本支援 Amazon Redshift 預存程序。如需詳細資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的[在 Amazon Redshift 中建立預存程序](https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-overview.html)。

# 安裝 Amazon Redshift JDBC 驅動程式 2.2 版
<a name="jdbc20-install-driver"></a>

若要安裝適用於 AWS SDK 的 Amazon Redshift JDBC 4.2 相容驅動程式 2.x 版和驅動程式相依程式庫，請將 ZIP 封存檔中的檔案擷取至您選擇的目錄。

若要安裝 Amazon Redshift JDBC 4.2 相容驅動器 2.x 版 (不含 AWS SDK)，請將 JAR 檔案複製到您選擇的目錄。

若要使用 Amazon Redshift JDBC 驅動程式存取 Amazon Redshift 資料存放區，您需要如下所述地執行組態。

**Topics**
+ [參考 JDBC 驅動程式庫](jdbc20-driver-libraries.md)
+ [註冊驅動程式類別](jdbc20-register-driver-class.md)

# 參考 JDBC 驅動程式庫
<a name="jdbc20-driver-libraries"></a>

您用來連線至資料的 JDBC 應用程式或 Java 程式碼必須存取驅動程式 JAR 檔案。請在應用程式或程式碼中，指定您從 ZIP 封存檔中解壓縮的所有 JAR 檔案。

## 在 JDBC 應用程式中使用驅動程式
<a name="jdbc20-use-driver-jdbc-app"></a>

JDBC 應用程式通常會提供一組用於新增驅動程式庫檔案清單的組態選項。請使用所提供的選項，將 ZIP 封存檔中的所有 JAR 檔案納入為應用程式中驅動程式組態的一部分。如需詳細資訊，請參閱 DNS 應用程式的文件。

## 在 Java 程式碼中使用驅動程式
<a name="jdbc20-use-driver-java-code"></a>

您必須在類別路徑中包含所有驅動程式庫檔案。Java 執行階段環境會在此路徑中搜尋類別和其他資源檔案。如需詳細資訊，請參閱適當的 Java SE 文件，以便為您的作業系統設定類別路徑。
+ Windows：[https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html](https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html)
+ Linux 和 Solaris：[https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html](https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html)
+ macOS：預設 macOS 類別路徑是安裝 JDBC 驅動程式的目錄。

# 註冊驅動程式類別
<a name="jdbc20-register-driver-class"></a>

請務必為您的應用程式註冊適當的類別。您可以使用下列類別將 Amazon Redshift JDBC 驅動程式連線到 Amazon Redshift 資料存放區：
+ `Driver` 類別會擴展 `java.sql.Driver`。
+ `DataSource` 類別會擴展 `javax.sql.DataSource` 和 `javax.sql.ConnectionPoolDataSource`。

該驅動程式支援下列完整類別名稱 (與 JDBC 版本無關)：
+ `com.amazon.redshift.jdbc.Driver`
+ `com.amazon.redshift.jdbc.DataSource`

下列範例示範如何使用 DriverManager 類別建立 JDBC 4.2 連線。

```
            private static Connection connectViaDM() throws Exception
{
Connection connection = null;
connection = DriverManager.getConnection(CONNECTION_URL);
return connection;
}
```

下列範例示範如何使用 `DataSource` 類別建立連線。

```
 private static Connection connectViaDS() throws Exception
{
Connection connection = null;
11
Amazon Redshift JDBC Driver Installation and Configuration Guide
DataSource ds = new com.amazon.redshift.jdbc.DataSource
();
ds.setURL(CONNECTION_URL);
connection = ds.getConnection();
return connection;
}
```

# 取得 JDBC URL
<a name="jdbc20-obtain-url"></a>

您需要先知道叢集的 JDBC URL，才能從 SQL 用戶端工具連線至 Amazon Redshift 叢集。JDBC URL 採用下列格式：`jdbc:redshift://endpoint:port/database`

前面格式的欄位具有下列值。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/redshift/latest/mgmt/jdbc20-obtain-url.html)

以下是 JDBC URL 範例：`jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev`

如果您的 URL 值包含下列任何 URI 保留字元，則值必須經過 URL 編碼：
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  空格 

例如，如果您的 `PWD` 值是 `password:password`，則使用該值的連線 URL 看起來如下：

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

如需如何取得 JDBC 連線的資訊，請參閱[尋找叢集連線字串](connecting-connection-string.md)。

如果用戶端電腦無法連線至資料庫，您可以對可能的問題進行疑難排解。如需詳細資訊，請參閱[針對 Amazon Redshift 中的連線問題進行疑難排解](troubleshooting-connections.md)。

# 建置連線 URL
<a name="jdbc20-build-connection-url"></a>

使用連線 URL 為您要存取的資料存放區提供連線資訊。以下是 Amazon Redshift JDBC 驅動器 2.x 版的連線 URL 格式。在這裡，[Host] 是 Amazon Redshift 伺服器的端點，[Port] 是伺服器用來接聽用戶端請求的傳輸控制通訊協定 (TCP) 連接埠號碼。

```
jdbc:redshift://[Host]:[Port]
```

以下是會指定某些選擇性設定的連線 URL 格式。

```
jdbc:redshift://[Host]:[Port]/[database];[Property1]=[Value];
[Property2]=[Value];
```

如果您的 URL 值包含下列任何 URI 保留字元，則值必須經過 URL 編碼：
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  空格 

例如，如果您的 `PWD` 值是 `password:password`，則使用該值的連線 URL 看起來如下：

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

例如，假設您想要連線至 AWS上美國西部 (加利佛尼亞北部) 區域中 Amazon Redshift 叢集上的連接埠 9000。您也想要存取名為 `dev` 的資料庫，並使用資料庫使用者名稱和密碼來驗證連線。在此情況下，您會使用下列連線 URL。

```
jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=amazon
```

您可以使用下列字元將組態選項與 URL 字串的其餘部分隔開：
+ ;
+ ?

例如，下面兩個 URL 字串是相等的：

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev?ssl=true;defaultRowFetchSize=100
```

您可以使用下列字元將 URL 字串中的組態選項彼此隔開：
+ ;
+ &

例如，下面兩個 URL 字串是相等的：

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev;ssl=true&defaultRowFetchSize=100
```

下列 URL 範例會指定日誌層級 6 以及日誌的路徑。

```
jdbc:redshift://redshift.amazonaws.com:5439/dev;DSILogLevel=6;LogPath=/home/user/logs;
```

請勿複製連線 URL 中的屬性。

如需可指定之組態選項的完整清單，請參閱 [JDBC 驅動器 2.x 版組態的選項](jdbc20-configuration-options.md)。

**注意**  
連線時，請勿使用叢集節點的 IP 地址或 VPC 端點的 IP 地址。請一律使用 Redshift 端點，以避免發生不必要的中斷。唯一會使用端點 URL 的例外狀況是當您使用自訂網域名稱時。如需詳細資訊，請參閱[使用自訂網域名稱來進行用戶端連線](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html)。

# 使用 Apache Maven 設定 JDBC 連線
<a name="configure-jdbc20-connection-with-maven"></a>

Apache Maven 是軟體專案管理和理解工具。 適用於 Java 的 AWS SDK 支援 Apache Maven 專案。如需詳細資訊，請參閱《適用於 Java 的 AWS SDK 開發人員指南》**中的[搭配使用 SDK 與 Apache Maven](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-maven.html)。

如果您使用 Apache Maven，您可以將專案設定和建置為使用 Amazon Redshift JDBC 驅動程式來連線至 Amazon Redshift 叢集。若要執行此作業，請在專案的 `pom.xml` 檔案中，將 JDBC 驅動程式新增為相依性。如果您使用 Maven 來建置專案，且想要使用 JDBC 連線，請採取下節中的步驟。

**將 JDBC 驅動程式設定為 Maven 相依性**

1. 將 Amazon 儲存庫或 Maven Central 儲存庫新增到 `pom.xml` 檔案的儲存庫區段。
**注意**  
下列程式碼範例中的 URL 在瀏覽器中使用時會傳回錯誤。僅在 Maven 項目的內容中使用此 URL。

   若要使用 Secure Sockets Layer (SSL) 來連線，請將下列儲存庫新增至 `pom.xml` 檔案。

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://s3.amazonaws.com/redshift-maven-repository/release</url>
       </repository>
   </repositories>
   ```

   若為 Maven Central 儲存庫，請將以下內容新增到 `pom.xml` 檔案。

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://repo1.maven.org/maven2</url>
       </repository>
   </repositories>
   ```

1. 在 `pom.xml` 檔案的相依性區段中，宣告您要使用的驅動程式版本。

   Amazon Redshift 為與 JDBC 4.2 API 相容的工具提供了驅動程式。如需這些驅動程式所支援功能的相關資訊，請參閱[下載 Amazon Redshift JDBC 驅動程式 2.1 版](jdbc20-download-driver.md)。

   以您的驅動程式版本取代下列範例中的 `driver-version`，例如 `2.1.0.1`。若為 JDBC 4.2 相容驅動程式，請使用以下內容。

   ```
   <dependency>
      <groupId>com.amazon.redshift</groupId>
      <artifactId>redshift-jdbc42</artifactId>
      <version>driver-version</version>
   </dependency>
   ```

   此驅動程式的類別名稱為 `com.amazon.redshift.Driver`。

當您使用 IAM 資料庫身分驗證時，Amazon Redshift Maven 驅動程式需要下列選擇性相依性。

```
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-core</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-redshift</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-sts</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
```

若要將 Amazon Redshift JDBC 驅動程式升級或變更為最新版本，請先將相依性的版本區段修改為驅動程式的最新版本。然後以 Maven Clean Plugin 來清理專案，如下所示。

```
mvn clean
```

# 設定身分驗證和 SSL
<a name="jdbc20-configure-authentication-ssl"></a>

為了防止有人未經授權就存取資料，Amazon Redshift 資料存放區會要求所有連線使用使用者憑證進行身分驗證。某些資料存放區還會要求必須透過 Secure Sockets Layer (SSL) 通訊協定來進行連線 (無論是否使用單向身分驗證)。

Amazon Redshift JDBC 驅動器 2.x 版會針對這些身分驗證通訊協定提供完整支援。

驅動程式支援的 SSL 版本取決於您使用的 JVM 版本。如需每個 Java 版本所支援之 SSL 版本的相關資訊，請參閱 Java Platform Group Product Management 部落格上的[診斷 TLS、SSL 和 HTTPS](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https)。

用於連線的 SSL 版本是驅動程式和伺服器支援的最高版本，而這會在連線時確定。

將 Amazon Redshift JDBC 驅動器 2.x 版設定為根據您要連線之 Redshift 伺服器的安全需求驗證您的連線。

您一律必須提供 Redshift 使用者名稱和密碼來驗證連線。根據伺服器上是否啟用且需要 SSL，您可能還需要將驅動程式設定為透過 SSL 連接。或者，您也可以使用單向 SSL 身分驗證，以便用戶端 (驅動程式本身) 驗證伺服器的身分。

您要在連線 URL 中提供組態資訊給驅動程式。如需連線 URL 語法的相關資訊，請參閱[建置連線 URL](jdbc20-build-connection-url.md)。

*SSL* 表示 TLS/SSL，兩者分別是 Transport Layer Security 和 Secure Sockets Layer。此驅動程式支援業界標準的 TLS/SSL 版本。

## 設定 IAM 身分驗證
<a name="jdbc20-configure-iam-authentication"></a>

如果您要使用 IAM 身分驗證連線至 Amazon Redshift 伺服器，請將以下屬性設定為資料來源連線字串的一部分。

 如需 IAM 身分驗證的相關資訊，請參閱 [Amazon Redshift 中的身分和存取管理](redshift-iam-authentication-access-control.md)。

若要使用 IAM 身分驗證，請使用下列其中一種連線字串格式：


| 連接字串 | Description | 
| --- | --- | 
|  `jdbc:redshift:iam:// [host]:[port]/[db]`  |  一般連線字串。驅動程式會從主機推斷 ClusterID 和 Region。  | 
|  `jdbc:redshift:iam:// [cluster-id]: [region]/[db]`  |  驅動程式會擷取主機資訊 (在給定 ClusterID D 和 Region 的情況下)。  | 
|  `jdbc:redshift:iam:// [host]/[db]`  |  驅動程式會預設為連接埠 5439，並從主機推斷 ClusterID 和 Region。根據您在建立、修改或遷移叢集時所選取的連接埠而定，允許存取選取的連接埠。  | 

## 指定設定檔
<a name="jdbc20-aws-credentials-profiles"></a>

如果您要使用 IAM 身分驗證，則可以在設定檔名稱下指定任何其他必要或選擇性的連線屬性。這樣做可讓您避免將某些資訊直接放在連線字串中。您可以使用 Profile 屬性在連線字串中指定設定檔名稱。

設定檔可以新增至 AWS 登入資料檔案。此檔案的預設位置是：`~/.aws/credentials`。

您可以在下列環境變數中設定路徑來變更預設值：`AWS_CREDENTIAL_PROFILES_FILE`

 如需設定檔的相關資訊，請參閱《適用於 Java 的 AWS SDK》**中的[使用 AWS 憑證](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html)。

## 使用執行個體設定檔憑證
<a name="jdbc20-instance-profile-credentials"></a>

如果您要在與 IAM 角色關聯的 Amazon EC2 執行個體上執行應用程式，您可以使用執行個體設定檔憑證進行連線。

若要這麼做，請使用前述資料表中的其中一種 IAM 連線字串格式，並將 dbuser 連線屬性設定為您要用來連線的 Amazon Redshift 使用者名稱。

如需執行個體設定檔的相關資訊，請參閱《IAM 使用者指南》**中的[存取管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)。

## 使用憑證提供者
<a name="jdbc20-aws-credentials-provider"></a>

此驅動程式也支援下列服務的憑證提供者外掛程式：
+ AWS IAM Identity Center
+ Active Directory Federation Service (ADFS)
+ JSON Web 權杖 (JWT) 服務
+ Microsoft Azure Active Directory (AD) 服務和瀏覽器 Microsoft Azure Active Directory (AD) 服務
+ Okta 服務
+ PingFederate 服務 
+ 適用於 SAML 服務的瀏覽器 SAML，例如 Okta、Ping 或 ADFS

如果您使用這些服務的其中一個，連線 URL 必須指定下列屬性：
+ **Plugin\$1Name** — 憑證提供者外掛程式類別的完整類別路徑。
+ **IDP\$1Host** — 您用來對 Amazon Redshift 進行身分驗證的服務主機。
+ **IdP\$1Port** — 用於身分驗證服務的主機監聽的連接埠。Okta 不需要此屬性。
+ **User** - idp\$1host 伺服器的使用者名稱。
+ **Password** - 與 idp\$1host 使用者名稱相關聯的密碼。
+ **DbUser** - 您用來連線的 Amazon Redshift 使用者名稱。
+ **SSL\$1Insecure** — 指出是否應驗證 IDP 伺服器憑證。
+ **Client\$1ID** - 與 Azure AD 入口網站中的使用者名稱相關聯的用戶端 ID。僅用於 Azure AD。
+ **Client\$1Secret** — 與 Azure AD 入口網站中的用戶端 ID 相關聯的用戶端祕密。僅用於 Azure AD。
+ **IdP\$1Tenant** — Amazon Redshift 應用程式的 Azure AD 租用戶 ID。僅用於 Azure AD。
+ **App\$1ID** — Amazon Redshift 應用程式的 Okta 應用程式 ID。僅用於 Okta。
+ **App\$1Name** — Amazon Redshift 應用程式的 Okta 應用程式名稱 (選擇性)。僅用於 Okta。
+ **Partner\$1SPID** — 選擇性的合作夥伴 SPID (服務提供者 ID) 值。僅用於 PingFederate。
+ **Idc\$1Region** – IAM Identity Center AWS 區域 AWS 執行個體所在的 。僅用於 AWS IAM Identity Center。
+ **Issuer\$1Url** – AWS IAM Identity Center 伺服器的執行個體端點。僅用於 AWS IAM Identity Center。

如果您使用這些服務其中之一的瀏覽器外掛程式，連線 URL 也可以包括：
+ **Login\$1URL** — 透過瀏覽器外掛程式使用安全性聲明標記語言 (SAML) 或 Azure AD 服務時，身分提供者網站上資源的 URL。如果您使用瀏覽器外掛程式，則必須要有此參數。
+ **Listen\$1Port** – 透過瀏覽器外掛程式使用 SAML、Azure AD 或 IAM Identity Center AWS 服務時，驅動程式用來從身分提供者取得 SAML 回應的連接埠。
+ **IdP\$1Response\$1Timeout** – 透過瀏覽器外掛程式使用 SAML、Azure AD 或 IAM Identity Center AWS 服務時，驅動程式等待來自身分提供者的 SAML 回應的時間，以秒為單位。

如需其他連線字串屬性的資訊，請參閱 [JDBC 驅動器 2.x 版組態的選項](jdbc20-configuration-options.md)。

# 僅使用使用者名稱和密碼
<a name="jdbc20-authentication-username-password"></a>

如果您要連線的伺服器未使用 SSL，您只需要提供 Redshift 使用者名稱和密碼即可驗證連線。

**僅使用 Redshift 使用者名稱和密碼來設定身分驗證**

1. 將 `UID` 屬性設定為用於存取 Amazon Redshift 伺服器的 Redshift 使用者名稱。

1. 將 PWD 屬性設定為與 Redshift 使用者名稱對應的密碼。

# 使用 SSL 但不進行身分驗證
<a name="jdbc20-use-ssl-without-identity-verification"></a>

如果您要連線的伺服器使用 SSL，但不需要進行身分驗證，則您可以將驅動程式設定為使用非驗證 SSL Factory。

**設定沒有身分驗證的 SSL 連線**

1. 將 `UID` 屬性設定為用於存取 Amazon Redshift 伺服器的 Redshift 使用者名稱。

1. 將 `PWD` 屬性設定為與 Redshift 使用者名稱對應的密碼。

1. 將 `SSLFactory` 屬性設定為 `com.amazon.redshift.ssl.NonValidatingFactory`。

# 使用單向 SSL 身分驗證
<a name="jdbc20-use-one-way-SSL-authentication"></a>

如果您要連線的伺服器使用 SSL 且具有憑證，則您可以將驅動程式設定為使用單向身分驗證來驗證伺服器的身分。

單向身分驗證需要已簽署的受信任 SSL 憑證來驗證伺服器的身分。您可以將驅動程式設定為使用特定憑證，或存取包含適當憑證的 TrustStore。如果您未指定憑證或 TrustStore，則驅動程式會使用預設的 Java TrustStore (一般是 `jssecacerts` 或 `cacerts`)。

**設定單向 SSL 身分驗證**

1. 將 UID 屬性設定為用於存取 Amazon Redshift 伺服器的 Redshift 使用者名稱。

1. 將 PWD 屬性設定為與 Redshift 使用者名稱對應的密碼。

1. 將 SSL 屬性設為 true。

1. 將 SSLRootCert 屬性設定為根 CA 憑證的位置。

1. 如果您未使用其中一個預設的 Java TrustStore，請執行以下其中一項操作：
   + 若要指定伺服器憑證，請將 SSLRootCert 屬性設定為憑證的完整路徑。
   + 若要指定 TrustStore，請執行以下操作：

     1. 使用 keytool 程式，將伺服器憑證新增至您要使用的 TrustStore。

     1. 指定要在使用驅動程式啟動 Java 應用程式時使用的 TrustStore 和密碼。例如：

        ```
        -Djavax.net.ssl.trustStore=[TrustStoreName]
        -Djavax.net.ssl.trustStorePassword=[TrustStorePassword]
        -Djavax.net.ssl.trustStoreType=[TrustStoreType]
        ```

1. 選擇一項：
   + 若要驗證憑證，請將 SSLMode 屬性設定為 verify-ca。
   + 若要驗證憑證並驗證憑證中的主機名稱，請將 SSLMode 屬性設定為 verify-full。

# 設定 記錄
<a name="jdbc20-configuring-logging"></a>

您可以在驅動程式中開啟日誌記錄功能，以協助診斷問題。

您可以使用下列方法記錄驅動程式資訊：
+ 若要將記錄的資訊儲存在 .log 檔案中，請參閱[使用日誌檔案](jdbc20-using-log-files.md)。
+ 若要將記錄的資訊傳送到 DriverManager 中指定的 LogStream 或 LogWriter，請參閱[使用 LogStream 或 LogWriter](jdbc20-logstream-option.md)。

您要在連線 URL 中提供組態資訊給驅動程式。如需連線 URL 語法的相關資訊，請參閱[建置連線 URL](jdbc20-build-connection-url.md)。

# 使用日誌檔案
<a name="jdbc20-using-log-files"></a>

日誌記錄功能應該要開啟到足以找到問題的時間長度就好。日誌記錄功能會降低效能，而且還會消耗大量磁碟空間。

在連線 URL 中設定 LogLevel 機碼以開啟日誌記錄功能，並指定日誌檔案中包含的詳細資訊數量。下表列出 Amazon Redshift JDBC 驅動器 2.x 版所提供的日誌記錄層級 (排序方式為最不詳細到最詳細)。


| LogLevel 值 | Description | 
| --- | --- | 
|  1  |  記錄會導致驅動程式中止的嚴重錯誤事件。  | 
|  2  |  記錄可能允許驅動程式繼續執行的錯誤事件。  | 
|  3  |  未採取動作時可能會導致錯誤的日誌事件。這個層級的日誌記錄和這個層級以上的日誌記錄層級也會記錄使用者的查詢。  | 
|  4  |  記錄用於描述驅動程式進展的一般資訊。  | 
|  5  |  記錄有助於偵錯驅動程式的詳細資訊。  | 
|  6  |  記錄所有驅動程式活動。  | 

**設定會使用日誌檔案的日誌記錄功能**

1. 將 LogLevel 屬性設定為要包含在日誌檔案中的所需資訊層級。

1. 將 LogPath 屬性設定為用來儲存日誌檔案之資料夾的完整路徑。

   例如，下列連線 URL 會啟用日誌記錄層級 3，並將日誌檔案儲存在 C:\$1temp 資料夾：`jdbc:redshift://redshift.company.us-west- 1.redshift.amazonaws.com:9000/Default;DSILogLevel=3;LogPath=C:\temp`

1. 若要確保新設定生效，請重新啟動 JDBC 應用程式並重新連線至伺服器。

   Amazon Redshift JDBC 驅動程式會在 LogPath 屬性中指定的位置產生下列日誌檔案：
   +  redshift\$1jdbc.log 檔案，會記錄非連線特定的驅動程式活動。
   + redshift\$1jdbc\$1connection\$1[Number].log 檔案，會針對向資料庫建立的每個連線產生此檔案，其中 [Number] 是用來識別每個日誌檔案的編號。此檔案會記錄連線特定的驅動程式活動。

如果 LogPath 值無效，則驅動程式會將日誌記錄資訊傳送至標準輸出串流 (`System.out`)

# 使用 LogStream 或 LogWriter
<a name="jdbc20-logstream-option"></a>

日誌記錄功能應該要開啟到足以找到問題的時間長度就好。日誌記錄功能會降低效能，而且還會消耗大量磁碟空間。

在連線 URL 中設定 LogLevel 機碼以開啟日誌記錄功能，並指定傳送至 DriverManager 中所指定 LogStream 或 LogWriter 的詳細資訊數量。

**若要開啟使用 LogStream 或 LogWriter 的日誌記錄功能：**

1. 若要設定驅動程式以記錄描述驅動程式進度的一般資訊，請將 LogLevel 屬性設定為 1 或 INFO。

1. 若要確保新設定生效，請重新啟動 JDBC 應用程式並重新連線至伺服器。

# 資料類型轉換
<a name="jdbc20-data-type-mapping"></a>

Amazon Redshift JDBC 驅動器 2.x 版支援許多常見的資料格式，可在 Amazon Redshift、SQL 和 Java 資料類型之間進行轉換。

下表列出支援的資料類型映射。


| Amazon Redshift 類型 | SQL 類型 | Java 類型 | 
| --- | --- | --- | 
|  BIGINT  |  SQL\$1BIGINT  |  Long  | 
|  BOOLEAN  |  SQL\$1BIT  |  Boolean  | 
|  CHAR  |  SQL\$1CHAR  |  String  | 
|  DATE  |  SQL\$1TYPE\$1DATE  |  java.sql.Date  | 
|  DECIMAL  |  SQL\$1NUMERIC  |  BigDecimal  | 
|  DOUBLE PRECISION  |  SQL\$1DOUBLE  |  Double  | 
|  GEOMETRY  |  SQL\$1 LONGVARBINARY  |  byte[]  | 
|  INTEGER  |  SQL\$1INTEGER  |  Integer  | 
|  OID  |  SQL\$1BIGINT  |  Long  | 
|  SUPER  |  SQL\$1LONGVARCHAR  |  String  | 
|  REAL  |  SQL\$1REAL  |  Float  | 
|  SMALLINT  |  SQL\$1SMALLINT  |  Short  | 
|  TEXT  |  SQL\$1VARCHAR  |  String  | 
|  TIME  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMETZ  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMESTAMP  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  TIMESTAMPTZ  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  VARCHAR  |  SQL\$1VARCHAR  |  String  | 

# 使用預備陳述式支援
<a name="jdbc20-prepared-statement-support"></a>

Amazon Redshift JDBC 驅動程式支援預備陳述式。您可以使用預備陳述式來改善需要在相同連線期間執行多次的參數化查詢效能。

預備陳述式**是在伺服器端編譯但不會立即執行的 SQL 陳述式。所編譯的陳述式會以 PreverredStatement 物件的形式儲存在伺服器上，直到您關閉物件或連線為止。當該物件存在時，您可以視需要使用不同的參數值執行預備陳述式多次，而不必重新編譯陳述式。由於額外負荷降低，因此該組查詢的執行速度會變快。

如需預備陳述式的相關資訊，請參閱《Oracle 提供的 JDBC 基本概念教學課程》[https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html](https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html)中的＜使用預備陳述式＞。

您可以準備包含多個查詢的陳述式。例如，下列預備陳述式包含兩個 INSERT 查詢：

```
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO
MyTable VALUES (1, 'abc'); INSERT INTO CompanyTable VALUES
(1, 'abc');");
```

請注意，這些查詢不會依賴相同預備陳述式中所指定其他查詢的結果。由於準備步驟期間不會執行查詢，因此系統尚未傳回結果，因此沒有結果可供相同預備陳述式中的其他查詢使用。

例如，系統不會允許下列會先建立資料表，然後將值插入該新建資料表的預備陳述式：

```
PreparedStatement pstmt = conn.prepareStatement("CREATE
TABLE MyTable(col1 int, col2 varchar); INSERT INTO myTable
VALUES (1, 'abc');");
```

如果您嘗試準備這個陳述式，伺服器會傳回錯誤，指出目的地資料表 (myTable) 尚不存在。必須先執行 CREATE 查詢，才可以準備 INSERT 查詢。

# JDBC 驅動程式的 2.2 和 1.x 版本之間的差異
<a name="jdbc20-jdbc10-driver-differences"></a>

本節說明 2.2 和 1.x 版 JDBC 驅動程式傳回的資訊差異。JDBC 驅動程式 1.x 版已停止使用。

下表列出每個 JDBC 驅動程式版本的 getDatabaseProductName() 和 getDatabaseProductVersion() 函數所傳回的 DatabaseMetadata 資訊。JDBC 驅動程式 2.2 版會在建立連線時取得值。JDBC 驅動程式 1.x 版會從查詢結果取得值。


| JDBC 驅動程式版本 | getDatabaseProductName() 結果 | getDatabaseProductVersion() 結果 | 
| --- | --- | --- | 
|  2.2  |  Redshift  |  8.0.2  | 
|  1.x  |  PostgreSQL  |  08.00.0002  | 

下表列出每個 JDBC 驅動程式版本的 getTypeInfo 函數所傳回的 DatabaseMetadata 資訊。


| JDBC 驅動程式版本 | getTypeInfo 結果 | 
| --- | --- | 
|  2.2  |  與 Redshift 資料類型一致  | 
|  1.x  |  與 PostgreSQL 資料類型一致  | 

# 建立 JDBC 驅動器 2.x 版的初始化 (.ini) 檔案
<a name="jdbc20-ini-file"></a>

透過使用 Amazon Redshift JDBC 驅動器 2.x 版的初始化 (.ini) 檔案，您可以指定系統層級的組態參數。例如，每個應用程式的聯合 IdP 身分驗證參數可能會有所不同。.ini 檔案會提供通用位置讓 SQL 用戶端取得所需的組態參數。

您可以建立包含 SQL 用戶端組態選項的 JDBC 驅動器 2.x 版初始化 (.ini) 檔案。檔案的預設名稱為 `rsjdbc.ini`。JDBC 驅動器 2.x 版會在下列位置 (依優先順序列出) 檢查 .ini 檔案：
+ 連線 URL 或 SQL 用戶端的連線屬性對話方塊中的 `IniFile` 參數。請確定 `IniFile` 參數包含 .ini 檔案的完整路徑 (包括檔案名稱)。如需 `IniFile` 參數的詳細資訊，請參閱 [IniFile](jdbc20-configuration-options.md#jdbc20-inifile-option)。如果 `IniFile` 參數未正確指定 .ini 檔案的位置，則會顯示錯誤。
+ 具有完整路徑 (包括檔案名稱在內) 的環境變數，例如 AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE。您可以使用 `rsjdbc.ini` 或指定檔案名稱。如果 AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE 環境變數未正確指定 .ini 檔案的位置，則會顯示錯誤。
+ 驅動程式 JAR 檔案所在的目錄。
+ 使用者主目錄。
+ 系統的臨時目錄。

您可以將 .ini 檔案組織為多個驅動，例如 [DRIVER]。每個區段包含指定各種連線參數的鍵值對。您可以使用 `IniSection` 參數來指定 .ini 檔案中的區段。如需 `IniSection` 參數的詳細資訊，請參閱 [IniSection](jdbc20-configuration-options.md#jdbc20-inisection-option)。

以下是 .ini 檔案格式的範例，其中包含 [DRIVER]、[DEV]、[QA] 和 [PROD] 區段。[DRIVER] 區段可套用至任何連線。

```
[DRIVER]
key1=val1
key2=val2

[DEV]
key1=val1
key2=val2

[QA]
key1=val1
key2=val2

[PROD]
key1=val1
key2=val2
```

JDBC 驅動器 2.x 版會從下列位置 (依優先順序列出) 載入組態參數：
+ 應用程式程式碼中的預設組態參數。
+ .ini 檔案中的 [DRIVER] 區段屬性 (如果包含的話)。
+ 自訂區段組態參數 (如果有在連線 URL 或 SQL 用戶端的連線屬性對話方塊中提供 `IniSection` 選項的話)。
+ 來自 `getConnection` 呼叫中所指定連線屬性物件的屬性。
+ 連線 URL 中所指定的組態參數。

# JDBC 驅動器 2.x 版組態的選項
<a name="jdbc20-configuration-options"></a>

您可以在下面找到您可以為 Amazon Redshift JDBC 驅動程式 2.2 版指定的選項的說明。組態選項不區分大小寫。

您可以使用連線 URL 設定組態屬性。如需詳細資訊，請參閱[建置連線 URL](jdbc20-build-connection-url.md)。

**Topics**
+ [AccessKeyID](#jdbc20-accesskeyid-option)
+ [AllowDBUserOverride](#jdbc20-allowdbuseroverride-option)
+ [App\$1ID](#jdbc20-app-id-option)
+ [App\$1Name](#jdbc20-app-name-option)
+ [ApplicationName](#jdbc20-applicationname-option)
+ [AuthProfile](#jdbc20-authprofile-option)
+ [AutoCreate](#jdbc20-autocreate-option)
+ [Client\$1ID](#jdbc20-client_id-option)
+ [Client\$1Secret](#jdbc20-client_secret-option)
+ [ClusterID (ClusterID)](#jdbc20-clusterid-option)
+ [壓縮](#jdbc20-compression-option)
+ [connectTimeout](#jdbc20-connecttimeout-option)
+ [connectionTimezone](#jdbc20-connecttimezone-option)
+ [databaseMetadataCurrentDbOnly](#jdbc20-databasemetadatacurrentdbonly-option)
+ [DbUser](#jdbc20-dbuser-option)
+ [DbGroups](#jdbc20-dbgroups-option)
+ [DBNAME](#jdbc20-dbname-option)
+ [defaultRowFetchSize](#jdbc20-defaultrowfetchsize-option)
+ [DisableIsValidQuery](#jdbc20-disableisvalidquery-option)
+ [enableFetchRingBuffer](#jdbc20-enablefetchringbuffer-option)
+ [enableMultiSqlSupport](#jdbc20-enablemultisqlsupport-option)
+ [fetchRingBufferSize](#jdbc20-fetchringbuffersize-option)
+ [ForceLowercase](#jdbc20-forcelowercase-option)
+ [groupFederation](#jdbc20-groupFederation-option)
+ [HOST](#jdbc20-host-option)
+ [IAMDisableCache](#jdbc20-iamdisablecache-option)
+ [IAMDuration](#jdbc20-iamduration-option)
+ [Idc\$1Client\$1Display\$1Name](#jdbc20-idc_client_display_name)
+ [Idc\$1Region](#jdbc20-idc_region)
+ [IdP\$1Host](#jdbc20-idp_host-option)
+ [IdP\$1Partition](#jdbc20-idp_partition-option)
+ [IdP\$1Port](#jdbc20-idp_port-option)
+ [IdP\$1Tenant](#jdbc20-idp_tenant-option)
+ [IdP\$1Response\$1Timeout](#jdbc20-idp_response_timeout-option)
+ [IniFile](#jdbc20-inifile-option)
+ [IniSection](#jdbc20-inisection-option)
+ [isServerless](#jdbc20-isserverless-option)
+ [Issuer\$1Url](#jdbc20-issuer-url)
+ [Listen\$1Port](#jdbc20-listen-port)
+ [Login\$1URL](#jdbc20-login_url-option)
+ [loginTimeout](#jdbc20-logintimeout-option)
+ [loginToRp](#jdbc20-logintorp-option)
+ [LogLevel](#jdbc20-loglevel-option)
+ [LogPath](#jdbc20-logpath-option)
+ [OverrideSchemaPatternType](#jdbc20-override-schema-pattern-type)
+ [Partner\$1SPID](#jdbc20-partner_spid-option)
+ [密碼](#jdbc20-password-option)
+ [Plugin\$1Name](#jdbc20-plugin_name-option)
+ [PORT](#jdbc20-port-option)
+ [Preferred\$1Role](#jdbc20-preferred_role-option)
+ [設定檔](#jdbc20-profile-option)
+ [PWD](#jdbc20-pwd-option)
+ [queryGroup](#jdbc20-querygroup-option)
+ [readOnly](#jdbc20-readonly-option)
+ [區域](#jdbc20-region-option)
+ [reWriteBatchedInserts](#jdbc20-rewritebatchedinserts-option)
+ [reWriteBatchedInsertsSize](#jdbc20-rewritebatchedinsertssize-option)
+ [roleArn](#jdbc20-rolearn-option)
+ [roleSessionName](#jdbc20-roleaessionname-option)
+ [scope](#jdbc20-scope-option)
+ [SecretAccessKey](#jdbc20-secretaccesskey-option)
+ [SessionToken](#jdbc20-sessiontoken-option)
+ [serverlessAcctId](#jdbc20-serverlessacctid-option)
+ [serverlessWorkGroup](#jdbc20-serverlessworkgroup-option)
+ [socketFactory](#jdbc20-socketfactory-option)
+ [socketTimeout](#jdbc20-sockettimeout-option)
+ [SSL](#jdbc20-ssl-option)
+ [SSL\$1Insecure](#jdbc20-ssl_insecure-option)
+ [SSLCert](#jdbc20-sslcert-option)
+ [SSLFactory](#jdbc20-sslfactory-option)
+ [SSLKey](#jdbc20-sslkey-option)
+ [SSLMode](#jdbc20-sslmode-option)
+ [SSLPassword](#jdbc20-sslpassword-option)
+ [SSLRootCert](#jdbc20-sslrootcert-option)
+ [StsEndpointUrl](#jdbc20-stsendpointurl-option)
+ [tcpKeepAlive](#jdbc20-tcpkeepalive-option)
+ [token](#jdbc20-token-option)
+ [token\$1type](#jdbc20-token-type-option)
+ [UID](#jdbc20-uid-option)
+ [使用者](#jdbc20-user-option)
+ [webIdentityToken](#jdbc20-webidentitytoken-option)

## AccessKeyID
<a name="jdbc20-accesskeyid-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

您可以指定此參數以輸入使用者或角色的 IAM 存取金鑰。您通常可以透過查看和現有字串或使用者設定檔來找到金鑰。如果您指定此參數，則還必須指定 `SecretAccessKey` 參數。如果在 JDBC URL 中傳遞，則 AccessKeyID 必須經過 URL 編碼。

此為選用參數。

## AllowDBUserOverride
<a name="jdbc20-allowdbuseroverride-option"></a>
+ **預設值** — 0
+ **資料類型** — 字串

此選項會指定驅動程式是使用 SAML 聲明中的 `DbUser` 值，還是使用連線 URL 中 `DbUser` 連線屬性所指定的值。

此為選用參數。

**1**  
驅動程式會使用 SAML 聲明中的 `DbUser` 值。  
如果 SAML 聲明未針對 `DBUser` 指定值，則驅動程式會使用 `DBUser` 連線屬性中指定的值。如果連線屬性也未指定值，則驅動程式會使用連線設定檔中指定的值。

**0**  
驅動程式會使用 `DBUser` 連線屬性中指定的 `DBUser` 值。  
如果 `DBUser` 連線屬性未指定值，則驅動程式會使用連線設定檔中指定的值。如果連線設定檔也未指定值，則驅動程式會使用 SAML 聲明中的值。

## App\$1ID
<a name="jdbc20-app-id-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

與您的 Amazon Redshift 應用程式相關聯、Okta 所提供的唯一 ID。

如果透過 Okta 服務進行驗證，則需要此參數。

## App\$1Name
<a name="jdbc20-app-name-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

您用來驗證與 Amazon Redshift 之連線的 Okta 應用程式名稱。

此為選用參數。

## ApplicationName
<a name="jdbc20-applicationname-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

要傳遞給 Amazon Redshift 以進行稽核的應用程式名稱。

此為選用參數。

## AuthProfile
<a name="jdbc20-authprofile-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

用於連線至 Amazon Redshift 的身分驗證設定檔名稱。

此為選用參數。

## AutoCreate
<a name="jdbc20-autocreate-option"></a>
+ **預設值** — false
+ **資料類型** — 布林值

此選項會指定當指定的使用者不存在時，驅動程式是否要導致系統建立新的使用者。

此為選用參數。

**true**  
如果 `DBUser` 或唯一 ID (UID) 指定的使用者不存在，則系統會建立具有該名稱的新使用者。

**false**  
驅動程式不會導致系統建立新的使用者。如果指定的使用者不存在，則身分驗證會失敗。

## Client\$1ID
<a name="jdbc20-client_id-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

使用 Azure AD 服務來驗證連線時要使用的用戶端 ID。

如果透過 Azure AD 服務進行驗證，則需要此參數。

## Client\$1Secret
<a name="jdbc20-client_secret-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

使用 Azure AD 服務來驗證連線時要使用的用戶端秘密。

如果透過 Azure AD 服務進行驗證，則需要此參數。

## ClusterID (ClusterID)
<a name="jdbc20-clusterid-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

您要連線至的 Amazon Redshift 叢集的名稱。驅動程式會嘗試從給定的主機偵測此參數。如果您使用 Network Load Balancer (NLB) 並透過 IAM 進行連線，則驅動程式無法偵測此參數，因此您可以使用此連線選項設定此參數。

此為選用參數。

## 壓縮
<a name="jdbc20-compression-option"></a>
+ **預設值** - off
+ **資料類型** — 字串

用於 Amazon Redshift 伺服器與用戶端或驅動程式之間的有線通訊協定通訊的壓縮方法。

此為選用參數。

您可以指定下列值：
+ **lz4**

  將用於與 Amazon Redshift 進行有線通訊協定通訊的壓縮方法設定為 lz4。
+ **off**

  不要對與 Amazon Redshift 進行的有線通訊協定通訊使用壓縮。

## connectTimeout
<a name="jdbc20-connecttimeout-option"></a>
+ **預設值** — 10
+ **資料類型** — 整數

用於通訊端連線操作的逾時值。如果建立 Amazon Redshift 連線所需的時間超過此值，系統就會將此連線視為無法使用。逾時會以秒為單位來指定。值為 0 表示未指定逾時。

此為選用參數。

## connectionTimezone
<a name="jdbc20-connecttimezone-option"></a>
+ **預設值** — LOCAL
+ **資料類型** — 字串

工作階段層級時區。

此為選用參數。

您可以指定下列值：

**LOCAL**  
將工作階段層級時區設定為 LOCAL JVM 時區。

**SERVER**  
將工作階段層級時區設定為在 Amazon Redshift 伺服器上為使用者設定的時區。您可以使用以下命令為使用者設定工作階段層級時區：  

```
ALTER USER
[...]
SET TIMEZONE TO [...];
```

## databaseMetadataCurrentDbOnly
<a name="jdbc20-databasemetadatacurrentdbonly-option"></a>
+ **預設值** — true
+ **資料類型** — 布林值

此選項指定中繼資料 API 會從所有可存取的資料庫擷取資料，還是僅從已連線的資料庫擷取資料。

此為選用參數。

您可以指定下列值：

**true**  
應用程式會從單一資料庫擷取中繼資料。

**false**  
應用程式會從所有可存取的資料庫擷取中繼資料。

## DbUser
<a name="jdbc20-dbuser-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

要與您的 Amazon Redshift 帳戶搭配使用的使用者 ID。如果您已啟用 AutoCreate 屬性，則可以使用目前不存在的 ID。

此為選用參數。

## DbGroups
<a name="jdbc20-dbgroups-option"></a>
+ **預設值** — PUBLIC
+ **資料類型** — 字串

`DBUser` 針對目前的工作階段所加入之現有資料庫群組名稱的逗號分隔清單。

此為選用參數。

## DBNAME
<a name="jdbc20-dbname-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

要連線到之資料庫的名稱。您可以使用此選項在 JDBC 連線 URL 中指定資料庫名稱。

此為必要參數。您必須在連線 URL 或用戶端應用程式的連線屬性中指定資料庫名稱。

## defaultRowFetchSize
<a name="jdbc20-defaultrowfetchsize-option"></a>
+ **預設值** — 0
+ **資料類型** — 整數

此選項會指定 getFetchSize 的預設值。

此為選用參數。

您可以指定下列值：

**0**  
在單一操作中擷取所有資料列。

**正整數**  
針對 ResultSet 的每次擷取迭代，要從資料庫擷取的資料列數目。

## DisableIsValidQuery
<a name="jdbc20-disableisvalidquery-option"></a>
+ **預設值** — False
+ **資料類型** — 布林值

此選項會指定驅動程式在使用 Connection.isValid() 方法判斷資料庫連線是否處於作用中狀態時，是否要提交新的資料庫查詢。

此為選用參數。

**true**  
驅動程式在使用 Connection.isValid() 判斷資料庫連線是否處於作用中狀態時，不會提交查詢。如果資料庫伺服器意外關閉，這可能會造成驅動程式錯誤地將資料庫連線識別為作用中狀態。

**false**  
驅動程式在使用 Connection.isValid() 判斷資料庫連線是否處於作用中狀態時，會提交查詢。

## enableFetchRingBuffer
<a name="jdbc20-enablefetchringbuffer-option"></a>
+ **預設值** — true
+ **資料類型** — 布林值

此選項指定驅動程式會在個別執行緒上使用環形緩衝器來擷取資料列。fetchRingBufferSize 參數會指定環形緩衝區的大小。

環形緩衝區會在 JDBC 中實作自動記憶體管理，以防止在資料擷取操作期間out-of-memory(OOM) 錯誤。環形緩衝區會即時監控緩衝資料的實際大小，確保驅動程式的總記憶體用量保持在定義的限制內。達到緩衝容量時，驅動程式會暫停資料擷取操作，防止記憶體溢出，而不需要手動介入。此內建防護功能可自動消除 OOM 錯誤，使用者不需要設定。

如果交易偵測到包含多個以分號分隔的 SQL 命令的陳述式，該交易的擷取環形緩衝區會設為 false。enableFetchRingBuffer 的值不會變更。

此為選用參數。

**注意**  
當環形緩衝區停用且擷取大小未正確設定時，可能會發生out-of-memory(OOM) 問題。如需設定擷取大小的詳細資訊，請參閱[此處](https://docs.aws.amazon.com/redshift/latest/dg/set-the-JDBC-fetch-size-parameter.html)。

## enableMultiSqlSupport
<a name="jdbc20-enablemultisqlsupport-option"></a>
+ **預設值** — true
+ **資料類型** — 布林值

此選項會指定是否要在陳述式中處理以分號分隔的多個 SQL 命令。

此為選用參數。

您可以指定下列值：

**true**  
驅動程式會在陳述式物件中處理以分號分隔的多個 SQL 命令。

**false**  
驅動程式會在單一陳述式中傳回多個 SQL 命令的錯誤。

## fetchRingBufferSize
<a name="jdbc20-fetchringbuffersize-option"></a>
+ **預設值** — 1G
+ **資料類型** — 字串

此選項會指定在擷取結果集時使用的環形緩衝區大小。您可以指定以位元組為單位的大小，例如 1K 表示 1 KB、5000 表示 5,000 個位元組、1M 表示 1 MB、1G 表示 1 GB，依此類推。您也可以指定堆積記憶體的百分比。驅動程式會在達到限制時停止擷取資料列。當應用程式讀取資料列並釋放環形緩衝區中的空間時，擷取操作便會繼續。

此為選用參數。

## ForceLowercase
<a name="jdbc20-forcelowercase-option"></a>
+ **預設值** — false
+ **資料類型** — 布林值

此選項會指定在使用單一登入身分驗證時，驅動程式是否會將從身分提供者傳送至 Amazon Redshift 的所有資料庫群組 (DbGroups) 轉換為小寫。

此為選用參數。

**true**  
驅動程式會將從身分提供者傳送的所有資料庫群組轉換為小寫。

**false**  
驅動程式不會變更資料庫群組。

## groupFederation
<a name="jdbc20-groupFederation-option"></a>
+ **預設值** — false
+ **資料類型** — 布林值

此選項會指定是否使用 Amazon Redshift IDP 群組。這會由 GetClusterCredentialsV2 API 支援。

此為選用參數。

**true**  
使用 Amazon Redshift 身分提供者 (IdP) 群組。

**false**  
針對使用者聯合使用 STS API 和 GetClusterCredentials，並明確指定連線的 DbGroups。

## HOST
<a name="jdbc20-host-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

要連線到之 Amazon Redshift 伺服器的主機名稱。您可以使用此選項在 JDBC 連線 URL 中指定主機名稱。

此為必要參數。您必須在連線 URL 或用戶端應用程式的連線屬性中指定主機名稱。

## IAMDisableCache
<a name="jdbc20-iamdisablecache-option"></a>
+ **預設值** — false
+ **資料類型** — 布林值

此選項會指定是否快取 IAM 憑證。

此為選用參數。

**true**  
不快取 IAM 憑證。

**false**  
快取 IAM 憑證。例如，當對於 API 閘道的請求遭到限流時，這可以提高效能。

## IAMDuration
<a name="jdbc20-iamduration-option"></a>
+ **預設值** — 900
+ **資料類型** — 整數

臨時 IAM 憑證到期之前的時間長度 (以秒為單位)。
+ **最小值** — 900
+ **最大值** — 3,600

此為選用參數。

## Idc\$1Client\$1Display\$1Name
<a name="jdbc20-idc_client_display_name"></a>
+ **預設值** - Amazon Redshift JDBC 驅動器
+ **資料類型** — 字串

使用 BrowserIdcAuthPlugin 的用戶端要使用的顯示名稱。

此為選用參數。

## Idc\$1Region
<a name="jdbc20-idc_region"></a>
+ **預設值** — 無
+ **資料類型** — 字串

IAM Identity Center 執行個體所在的 AWS 區域。

只有在 plugin\$1name 組態選項中使用 `BrowserIdcAuthPlugin` 進行身分驗證時，才需要此參數。

## IdP\$1Host
<a name="jdbc20-idp_host-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

您用來對 Amazon Redshift 進行身分驗證的 IdP (身分提供者) 主機。這可以在連線字串或設定檔中指定。

此為選用參數。

## IdP\$1Partition
<a name="jdbc20-idp_partition-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

指定設定身分提供者 (IdP) 的雲端分割區。這會決定驅動程式連線到哪個 IdP 身分驗證端點。

如果此參數保留空白，驅動程式會預設為商業分割區。可能值為：
+  `us-gov`：如果您的 IdP 是在 Azure Government 中設定，請使用此值。例如，Azure AD Government 會使用端點 `login.microsoftonline.us`。
+  `cn`：如果您的 IdP 是在中國雲端分割區中設定，請使用此值。例如，Azure AD 中國使用端點 `login.chinacloudapi.cn`。

此為選用參數。

## IdP\$1Port
<a name="jdbc20-idp_port-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

IdP (身分提供者) 使用的連接埠。您可以在連線字串或設定檔中指定連接埠。預設連接埠為 5439。根據您在建立、修改或遷移叢集時所選取的連接埠而定，允許存取選取的連接埠。

此為選用參數。

## IdP\$1Tenant
<a name="jdbc20-idp_tenant-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

Amazon Redshift 應用程式的 Azure AD 租用戶 ID。

如果透過 Azure AD 服務進行驗證，則需要此參數。

## IdP\$1Response\$1Timeout
<a name="jdbc20-idp_response_timeout-option"></a>
+ **預設值** — 120
+ **資料類型** — 整數

透過瀏覽器外掛程式使用 SAML 或 Azure AD 服務時，驅動程式等待身分提供者傳回 SAML 回應的時間長度 (以秒為單位)。

此為選用參數。

## IniFile
<a name="jdbc20-inifile-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

.ini 檔案的完整路徑 (包括檔案名稱)。例如：

```
IniFile="C:\tools\rsjdbc.ini"
```

如需 .ini 檔案的相關資訊，請參閱[建立 JDBC 驅動器 2.x 版的初始化 (.ini) 檔案](jdbc20-ini-file.md)。

此為選用參數。

## IniSection
<a name="jdbc20-inisection-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

.ini 檔案中包含組態選項之區段的名稱。如需 .ini 檔案的相關資訊，請參閱[建立 JDBC 驅動器 2.x 版的初始化 (.ini) 檔案](jdbc20-ini-file.md)。

下列範例會指定 .ini 檔案的 [Prod] 區段：

```
IniSection="Prod"
```

此為選用參數。

## isServerless
<a name="jdbc20-isserverless-option"></a>
+ **預設值** — false
+ **資料類型** — 布林值

此選項會指定 Amazon Redshift 端點主機是否為無伺服器執行個體。驅動程式會嘗試從給定的主機偵測此參數。如果您使用 Network Load Balancer (NLB)，則驅動程式無法偵測此參數，因此您可以在此設定此參數。

此為選用參數。

**true**  
Amazon Redshift 端點主機是無伺服器執行個體。

**false**  
Amazon Redshift 端點主機是已佈建的叢集。

## Issuer\$1Url
<a name="jdbc20-issuer-url"></a>
+ **預設值** — 無
+ **資料類型** — 字串

指向 AWS IAM Identity Center 伺服器的執行個體端點。

只有在 plugin\$1name 組態選項中使用 `BrowserIdcAuthPlugin` 進行身分驗證時，才需要此參數。

## Listen\$1Port
<a name="jdbc20-listen-port"></a>
+ **預設值** — 7890
+ **資料類型** — 整數

透過瀏覽器外掛程式使用 SAML、Azure AD 或 AWS Identity Center 服務時，驅動程式用來從身分提供者或授權碼接收 SAML 回應的連接埠。

此為選用參數。

## Login\$1URL
<a name="jdbc20-login_url-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

透過瀏覽器外掛程式使用 SAML 或 Azure AD 服務時，身分提供者網站上資源的 URL。

如果透過瀏覽器外掛程式向 SAML 或 Azure AD 服務進行驗證，則需要此參數。

## loginTimeout
<a name="jdbc20-logintimeout-option"></a>
+ **預設值** — 0
+ **資料類型** — 整數

連線至伺服器並進行驗證時，逾時之前等待的秒數。如果建立連線所花的時間超過此臨界值，連線會中止。

當此屬性設為 0 時，連線不會逾時。

此為選用參數。

## loginToRp
<a name="jdbc20-logintorp-option"></a>
+ **預設值** — `urn:amazon:webservices`
+ **資料類型** — 字串

您要用於 AD FS 身分驗證類型的依賴方信任。

此為選用參數。

## LogLevel
<a name="jdbc20-loglevel-option"></a>
+ **預設值** — 0
+ **資料類型** — 整數

使用此屬性可在驅動程式中開啟或關閉日誌記錄，以及指定日誌檔案中包含的詳細資訊數量。

日誌記錄功能應該要啟用到足以找到問題的時間長度就好。日誌記錄功能會降低效能，而且還會消耗大量磁碟空間。

此為選用參數。

將此參數設為以下其中一個值：

**0**  
停用所有日誌記錄功能。

**1**  
在 FATAL 層級上啟用日誌記錄功能，這會記錄會導致驅動程式中止的極嚴重錯誤事件。

**2**  
在 ERROR 層級上啟用日誌記錄功能，這會記錄可能仍允許驅動程式繼續執行的錯誤事件。

**3**  
在 WARNING 層級上啟用日誌記錄功能，這會記錄如果未採取動作可能會導致錯誤的事件。

**4**  
在 INFO 層級上啟用日誌記錄功能，這會記錄描述驅動程式進度的一般資訊。

**5**  
在 DEBUG 層級上啟用日誌記錄功能，這會記錄有助於偵錯驅動程式的詳細資訊。

**6**  
在 TRACE 層級上啟用日誌記錄功能，這會記錄所有驅動程式活動。

在啟用日誌記錄功能時，驅動程式會在 `LogPath` 屬性所指定的位置產生下列日誌檔案：
+ **`redshift_jdbc.log`** - 記錄非連線特定驅動器活動的檔案。
+ **`redshift_jdbc_connection_[Number].log`** — 向資料庫建立的每個連線的檔案，其中 `[Number]` 是用來區別每個日誌檔案的編號。此檔案會記錄連線特定的驅動程式活動。

如果 LogPath 值無效，則驅動程式會將日誌記錄資訊傳送至標準輸出串流 `System.out`。

## LogPath
<a name="jdbc20-logpath-option"></a>
+ **預設值** — 目前的工作目錄。
+ **資料類型** — 字串

啟用 DSILogLevel 屬性時，驅動程式用來儲存日誌檔案之資料夾的完整路徑。

為了確定連線 URL 會與所有 JDBC 應用程式相容，建議您輸入另一個反斜線來逸出檔案路徑中的反斜線 (\$1)。

此為選用參數。

## OverrideSchemaPatternType
<a name="jdbc20-override-schema-pattern-type"></a>
+ **預設值** — Null
+ **資料類型** — 整數

此選項會指定是否要覆寫 getTables 呼叫中使用的查詢類型。

**0**  
無結構描述通用查詢

**1**  
本機結構描述查詢

**2**  
外部結構描述查詢

此為選用參數。

## Partner\$1SPID
<a name="jdbc20-partner_spid-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

使用 PingFederate 服務驗證連線時，要使用的合作夥伴 SPID (服務提供者 ID) 值。

此為選用參數。

## 密碼
<a name="jdbc20-password-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

透過 IDP 使用 IAM 身分驗證進行連線時，這是 IDP\$1Host 伺服器的密碼。使用標準身分驗證時，這可以用於 Amazon Redshift 資料庫密碼，而不是 PWD。

此為選用參數。

## Plugin\$1Name
<a name="jdbc20-plugin_name-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

用來實作特定憑證提供者外掛程式的完整類別名稱。

此為選用參數。

支援的提供者選項如下：
+ **`AdfsCredentialsProvider`** - Active Directory Federation Service。
+ **`AzureCredentialsProvider`** - Microsoft Azure Active Directory (AD) 服務。
+ **`BasicJwtCredentialsProvider`** - JSON Web Tokens (JWT) 服務。
+ **`BasicSamlCredentialsProvider`** — 可與許多 SAML 服務提供者搭配使用的安全性聲明標記語言 (SAML) 憑證。
+ **`BrowserAzureCredentialsProvider`** - 瀏覽器 Microsoft Azure Active Directory (AD) 服務。
+ **`BrowserAzureOAuth2CredentialsProvider`** - 適用於原生身分驗證的瀏覽器 Microsoft Azure Active Directory (AD) 服務。
+ **`BrowserIdcAuthPlugin` ** – 使用 IAM Identity Center AWS 的授權外掛程式。
+ **`BrowserSamlCredentialsProvider`** - 適用於 SAML 服務的瀏覽器 SAML，例如 Okta、Ping 或 ADFS。
+ **`IdpTokenAuthPlugin`** – 從連結至 IAM Identity Center AWS 的任何 Web 身分提供者接受 IAM Identity Center 字符或 OpenID Connect (OIDC) JSON 型身分字符 (JWT) AWS 的授權外掛程式。
+ **`OktaCredentialsProvider`** - Okta 服務。
+ **`PingCredentialsProvider`** - PingFederate 服務。

## PORT
<a name="jdbc20-port-option"></a>
+ **預設值** — Null
+ **資料類型** — 整數

要連線到之 Amazon Redshift 伺服器的連接埠。您可以使用此選項在 JDBC 連線 URL 中指定連接埠。

此為選用參數。

## Preferred\$1Role
<a name="jdbc20-preferred_role-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

您要在連線到 Amazon Redshift 期間擔任的 IAM 角色。

此為選用參數。

## 設定檔
<a name="jdbc20-profile-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

要用於 IAM 身分驗證之設定檔的名稱。此設定檔包含未在連線字串中指定的任何其他連線屬性。

此為選用參數。

## PWD
<a name="jdbc20-pwd-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

與您使用屬性 UID 提供的 Amazon Redshift 使用者名稱對應的密碼。

此為選用參數。

## queryGroup
<a name="jdbc20-querygroup-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

此選項會在執行期將查詢指派給適當的查詢群組，以便將查詢指派給佇列。系統會針對工作階段設定查詢群組。在連線上執行的所有查詢都屬於此查詢群組。

此為選用參數。

## readOnly
<a name="jdbc20-readonly-option"></a>
+ **預設值** — false
+ **資料類型** — 布林值

此屬性會指定驅動程式是否處於唯讀模式。

此為選用參數。

**true**  
連線處於唯讀模式，且無法寫入到資料存放區。

**false**  
連線不處於唯讀模式，可以寫入到資料存放區。

## 區域
<a name="jdbc20-region-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

此選項指定叢集所在的 AWS 區域。如果您指定 StsEndPoint 選項，系統會忽略區域選項。Redshift `GetClusterCredentials` API 操作也會使用區域選項。

此為選用參數。

## reWriteBatchedInserts
<a name="jdbc20-rewritebatchedinserts-option"></a>
+ **預設值** — false
+ **資料類型** — 布林值

此選項可實現最佳化，以重寫相容的 INSERT 陳述式並將這些陳述式合併為批次。

此為選用參數。

## reWriteBatchedInsertsSize
<a name="jdbc20-rewritebatchedinsertssize-option"></a>
+ **預設值** — 128
+ **資料類型** — 整數

此選項可實現最佳化，以重寫相容的 INSERT 陳述式並將這些陳述式合併為批次。此值必須以 2 的冪呈指數增加。

此為選用參數。

## roleArn
<a name="jdbc20-rolearn-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

角色的 Amazon Resource Name (ARN)。當您指定 Plugin\$1Name 選項的 BasicJwtCredentialsProvider 時，請務必指定此參數。請以下列格式指定 ARN：

`arn:partition:service:region:account-id:resource-id`

如果您指定 Plugin\$1Name 選項的 BasicJwtCredentialsProvider，則必須有此參數。

## roleSessionName
<a name="jdbc20-roleaessionname-option"></a>
+ **預設值** — jwt\$1redshift\$1session
+ **資料類型** — 字串

擔任角色工作階段的識別碼。一般來說，您會傳遞與應用程式使用者相關聯的名稱或識別碼。應用程式使用的臨時安全憑證會與該使用者相關聯。當您指定 Plugin\$1Name 選項的 BasicJwtCredentialsProvider 時，您可以指定此參數。

此為選用參數。

## scope
<a name="jdbc20-scope-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

使用者可以同意的範圍清單 (以空格分隔)。指定這個參數可讓您的 Microsoft Azure 應用程式針對您想要呼叫的 API 取得同意。當您為 Plugin\$1Name 選項指定 BrowserAzureOAuth2CredentialsProvider 時，便可以指定此參數。

BrowserAzureOAuth2CredentialsProvider 外掛程式需要此參數。

## SecretAccessKey
<a name="jdbc20-secretaccesskey-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

使用者或角色的 IAM 存取金鑰。如果指定了此參數，則也必須指定 AccessKeyID。如果在 JDBC URL 中傳遞，則 SecretAccessKey 必須經過 URL 編碼。

此為選用參數。

## SessionToken
<a name="jdbc20-sessiontoken-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

與您用來驗證的 IAM 角色相關聯的臨時 IAM 工作階段權杖。如果在 JDBC URL 中傳遞，則臨時 IAM 工作階段權杖必須經過 URL 編碼。

此為選用參數。

## serverlessAcctId
<a name="jdbc20-serverlessacctid-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

Amazon Redshift Serverless 帳戶 ID。驅動程式會嘗試從給定的主機偵測此參數。如果您使用 Network Load Balancer (NLB)，則驅動程式無法偵測此參數，因此您可以在此設定此參數。

此為選用參數。

## serverlessWorkGroup
<a name="jdbc20-serverlessworkgroup-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

Amazon Redshift Serverless 工作群組名稱。驅動程式會嘗試從給定的主機偵測此參數。如果您使用 Network Load Balancer (NLB)，則驅動程式無法偵測此參數，因此您可以在此設定此參數。

此為選用參數。

## socketFactory
<a name="jdbc20-socketfactory-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

此選項會指定用於建立通訊端的通訊端 Factory。

此為選用參數。

## socketTimeout
<a name="jdbc20-sockettimeout-option"></a>
+ **預設值** — 0
+ **資料類型** — 整數

在通訊端讀取操作期間，逾時之前等待的秒數。如果操作所花的時間超過此臨界值，連線會關閉。當此屬性設為 0 時，連線不會逾時。

此為選用參數。

## SSL
<a name="jdbc20-ssl-option"></a>
+ **預設值** — TRUE
+ **資料類型** — 字串

使用此屬性可開啟或關閉連線的 SSL。

此為選用參數。

您可以指定下列值：

**TRUE**  
驅動程式會透過 SSL 連線到伺服器。

**FALSE**  
驅動程式會以不使用 SSL 的方式連線到伺服器。IAM 身分驗證不支援此選項。

或者，您也可以設定 AuthMech 屬性。

## SSL\$1Insecure
<a name="jdbc20-ssl_insecure-option"></a>
+ **預設值** — true
+ **資料類型** — 字串

此屬性會指出是否應驗證 IDP 主機伺服器憑證。

此為選用參數。

您可以指定下列值：

**true**  
驅動程式不會檢查 IDP 伺服器憑證的真實性。

**false**  
驅動程式會檢查 IDP 伺服器憑證的真實性。

## SSLCert
<a name="jdbc20-sslcert-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

包含可在使用 SSL 時驗證 Amazon Redshift 伺服器執行個體之其他受信任 CA 憑證的 .pem 或 .crt 檔案的完整路徑。

如果指定 SSLKey，則需要此參數。

## SSLFactory
<a name="jdbc20-sslfactory-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

在不使用伺服器憑證的情況下，透過 TLS/SSL 連線至伺服器時要使用的 SSL Factory。

## SSLKey
<a name="jdbc20-sslkey-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

包含用於驗證 SSLCert 中所指定憑證的 PKCS8 金鑰檔案的 .der 檔案完整路徑。

如果指定 SSLCert，則需要此參數。

## SSLMode
<a name="jdbc20-sslmode-option"></a>
+ **預設值** — verify-ca
+ **資料類型** — 字串

使用此屬性可指定在已啟用 TLS/SSL 時，驅動程式會如何驗證憑證。

此為選用參數。

您可以指定下列值：

**verify-ca**  
驅動程式會驗證憑證是否來自受信任的憑證授權機構 (CA)。

**verify-full**  
驅動程式會驗證憑證是否來自受信任的 CA，以及憑證中的主機名稱是否符合連線 URL 中指定的主機名稱。

## SSLPassword
<a name="jdbc20-sslpassword-option"></a>
+ **預設值** — 0
+ **資料類型** — 字串

SSLKey 中所指定已加密金鑰檔案的密碼。

如果指定了 SSLKey 且金鑰檔案已加密，則需要此參數。

## SSLRootCert
<a name="jdbc20-sslrootcert-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

包含可在使用 SSL 時驗證 Amazon Redshift 伺服器執行個體之根 CA 憑證的 .pem 或 .crt 檔案的完整路徑。

## StsEndpointUrl
<a name="jdbc20-stsendpointurl-option"></a>
+ **預設值** — Null
+ **資料類型** — 字串

您可以指定 AWS Security Token Service (AWS STS) 端點。如果您指定此選項，系統會忽略區域選項。您只能為此端點指定安全的通訊協定 (HTTPS)。

## tcpKeepAlive
<a name="jdbc20-tcpkeepalive-option"></a>
+ **預設值** — TRUE
+ **資料類型** — 字串

使用此屬性可開啟或關閉 TCP 保持連線。

此為選用參數。

您可以指定下列值：

**TRUE**  
驅動程式會使用 TCP 保持連線來防止連線逾時。

**FALSE**  
驅動程式不會使用 TCP 保持連線。

## token
<a name="jdbc20-token-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

IAM Identity Center AWS 提供存取字符或由與 IAM Identity Center 連結的 Web 身分提供者提供的 OpenID Connect (OIDC) JSON Web Token AWS (JWT)。您的應用程式必須透過使用 IAM Identity Center AWS 或與 IAM Identity Center 連結的身分提供者來驗證應用程式的使用者來產生此字符 AWS 。

此參數適用於 `IdpTokenAuthPlugin`。

## token\$1type
<a name="jdbc20-token-type-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

`IdpTokenAuthPlugin` 中使用的權仗類型。

您可以指定下列值：

**ACCESS\$1TOKEN**  
如果您使用 AWS IAM Identity Center 提供的存取權杖，請輸入此選項。

**EXT\$1JWT**  
如果您使用與 AWS IAM Identity Center 整合的 Web 型身分提供者所提供的 OpenID Connect (OIDC) JSON Web Token (JWT)，請輸入此項。

此參數適用於 `IdpTokenAuthPlugin`。

## UID
<a name="jdbc20-uid-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

您用來存取資料庫的資料庫使用者名稱。

此為必要參數。

## 使用者
<a name="jdbc20-user-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

透過 IDP 使用 IAM 身分驗證進行連線時，這是 idp\$1host 伺服器的使用者名稱。使用標準身分驗證時，這可以用於 Amazon Redshift 資料庫使用者名稱。

此為選用參數。

## webIdentityToken
<a name="jdbc20-webidentitytoken-option"></a>
+ **預設值** — 無
+ **資料類型** — 字串

由身分提供者提供的 OAuth 2.1 存取權杖或 OpenID Connect ID 權杖。您的應用程式必須透過使用 Web 身分提供者對應用程式的使用者進行身分驗證來獲取此權杖。當您指定 Plugin\$1Name 選項的 BasicJwtCredentialsProvider 時，請務必指定此參數。

如果您指定 Plugin\$1Name 選項的 BasicJwtCredentialsProvider，則必須有此參數。

# JDBC 驅動器 2.x 版之前的版本
<a name="jdbc20-previous-driver-version-20"></a>

請在您的工具需要特定版本的驅動器時，才下載 Amazon Redshift JDBC 驅動器 2.x 版之前的版本。

下列是之前的 JDBC 4.2 相容 JDBC 驅動器 2.x 版驅動器：
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip) 