配置 JDBC 驱动程序版本 1.0 的连接 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 JDBC 驱动程序版本 1.0 的连接

您可以使用 JDBC 驱动程序 1.0 版连接将多种第三方 SQL 客户端工具连接到您的 Amazon Redshift 集群。为此,请下载 JDBC 驱动程序。

如果要使用 JDBC 连接,请执行以下步骤。

下载 Amazon Redshift JDBC 驱动程序

Amazon Redshift 提供了与 JDBC 4.2 API 兼容的工具驱动程序。有关这些驱动程序支持的功能的信息,请参阅Amazon Redshift JDBC 驱动程序发行说明在中国(北京)区域,请使用以下链接:Amazon Redshift JDBC 驱动程序发行说明

有关如何安装 JDBC 驱动程序 1.0 版、引用 JDBC 驱动程序库和注册驱动程序类的详细信息,请参阅Amazon Redshift JDBC 驱动程序安装和配置指南在中国(北京)区域,请使用以下链接:Amazon Redshift JDBC 驱动程序安装和配置指南

对于您在其上使用 Amazon Redshift JDBC 驱动程序的每台计算机,请确保已安装 Java 运行时环境 (JRE) 8.0。

如果将 Amazon Redshift JDBC 驱动程序用于数据库身份验证,请确保已Amazon SDK for Java1.11.118 或更高版本的 Java 类路径中。如果您没有Amazon SDK for Java,请使用 JDBC 4.2 兼容的驱动程序下载 ZIP 文件(没有AmazonSDK)和驱动程序相关库Amazon开发工具包:

有关以前的驱动程序版本的更多信息,请参阅 将以前的 JDBC 驱动程序版本与Amazon SDK for Java

然后,下载并阅读Amazon Redshift ODBC 和 JDBC 驱动程序许可协议在中国(北京)区域,请使用以下链接:https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf

如果您的工具需要使用某个早期版本的驱动程序,请参阅在某些情况下使用以前的 JDBC 驱动程序版本 1.0。

获取 JDBC URL

您需要获知您的集群的 JDBC URL,才能将 SQL 客户端工具连接到此 Amazon Redshift 集群。JDBC URL 采用以下格式:jdbc:redshift://endpoint:port/database

注意

使用以前的格式 jdbc:postgresql://endpoint:port/database 指定的 JDBC URL 仍有效。

前面显示的格式的字段具有以下值。

字段
jdbc 连接协议。
redshift 用于指定使用 Amazon Redshift 驱动程序连接到数据库的子协议。
endpoint Amazon Redshift 集群的终端节点。
port 您在启动集群时指定的端口号。如果您启用了防火墙,请确保此端口处于打开状态,可供您使用。
database 您为集群创建的数据库。

以下是一个示例 JDBC URL:jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev

有关如何获取 JDBC 连接的信息,请参阅 查找集群连接字符串

如果客户端计算机无法连接到数据库,您可以进行故障排除,解决可能存在的问题。有关更多信息,请参阅疑难解答 Amazon Redshift 中的连接问题

为 JDBC 连接配置身份验证和 SSL

配置 Amazon Redshift JDBC 驱动程序,以根据要连接到的 Amazon Redshift 服务器的安全要求对连接进行身份验证。

要对连接进行身份验证,请始终提供您的 Amazon Redshift 用户名和密码。密码使用密码的盐渍 MD5 散列传输。根据服务器上是否启用或需要 SSL,您可能还需要将驱动程序配置为通过 SSL 进行连接。您可能需要使用单向 SSL 身份验证,以便客户端(驱动程序本身)验证服务器的身份。

有关配置 JDBC 驱动程序以验证连接的信息,请参阅Amazon Redshift JDBC 驱动程序安装和配置指南在中国(北京)区域,请使用以下链接:Amazon Redshift JDBC 驱动程序安装和配置指南

为 JDBC 连接配置 TCP Keepalive

默认情况下,Amazon Redshift JDBC 驱动程序将配置为使用 TCP Keepalive 来防止连接超时。可以指定驱动程序开始发送 Keepalive 包的时间或通过在连接 URL 中设置相关属性来禁用该功能。

有关为 JDBC 驱动程序配置 TCP Keepalive 的信息,请参阅Amazon Redshift JDBC 驱动程序安装和配置指南在中国(北京)区域,请使用以下链接:Amazon Redshift JDBC 驱动程序安装和配置指南

为 JDBC 连接配置日志记录

要帮助解决问题,您可以在 JDBC 驱动程序中启用日志记录。

有关为 JDBC 连接配置日志记录的信息,请参阅Amazon Redshift JDBC 驱动程序安装和配置指南在中国(北京)区域,请使用以下链接:Amazon Redshift JDBC 驱动程序安装和配置指南

使用 Apache Maven 配置 JDBC 连接

Apache Maven 是一款软件项目管理及理解工具。这些区域有:Amazon SDK for Java支持 Apache Maven 项目。有关更多信息,请参阅 。将开发工具包与 Apache Maven 一起使用中的Amazon SDK for Java开发人员指南 的第一个版本。

如果您使用 Apache Maven,可以配置并生成您的项目,以使用 Amazon Redshift JDBC 驱动程序与 Amazon Redshift 集群连接。为此,在项目的 pom.xml 文件中将 JDBC 驱动程序添加为依赖项。如果您使用 Maven 生成项目并希望使用 JDBC 连接,请执行以下部分中的步骤。

将 JDBC 驱动程序配置为 Maven 依赖项

将 JDBC 驱动程序配置为 Maven 依赖项

  1. 将以下存储库添加到 pom.xml 文件的存储库部分。

    注意

    以下代码示例中的 URL 如果用在浏览器中,将返回错误。仅在 Maven 项目的上下文中使用此 URL。

    <repositories> <repository> <id>redshift</id> <url>http://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release</url> </repository> </repositories>

    要使用 SSL 进行连接,请将以下存储库添加到您的 pom.xml 文件。

    <repositories> <repository> <id>redshift</id> <url>https://s3.amazonaws.com/redshift-maven-repository/release</url> </repository> </repositories>
  2. pom.xml 文件的依赖项部分中,声明您要使用的驱动程序版本。

    Amazon Redshift 提供了与 JDBC 4.2 API 兼容的工具驱动程序。有关这些驱动程序支持的功能的信息,请参阅。下载 Amazon Redshift JDBC 驱动程序

    从以下列表中添加驱动程序的依赖项。

    注意

    对于 1.2.1.1001 版和更高版本,您可以使用通用驱动程序类名 com.amazon.redshift.jdbc.Driver 或下面列表中和驱动程序一起列出的特定于版本的类名;例如 com.amazon.redshift.jdbc42.Driver。对于 1.2.1.1001 之前的版本,只有特定于版本的类名受支持。

    将以下示例中的 driver-version 替换为您的驱动程序版本。例如:1.2.45.1069

    • 与 JDBC 4.2 兼容的驱动程序:

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

      此驱动程序的类名是 com.amazon.redshift.jdbc42.Driver

  3. 下载并阅读Amazon Redshift ODBC 和 JDBC 驱动程序许可协议在中国(北京)区域,请使用以下链接:Amazon Redshift ODBC 和 JDBC 驱动程序许可协议

标准的 Amazon Redshift JDBC 驱动程序包括Amazon使用 IAM 数据库身份验证所需的开发工具包。我们建议使用标准驱动程序,除非驱动程序文件的大小对您的应用程序来说是一个问题。如果您需要更小的驱动程序文件,并且不使用 IAM 数据库身份验证,或如果您已有Amazon SDK for Java1.11. 118 或更高版本,然后从以下列表中添加驱动程序的依赖项。

将以下示例中的 driver-version 替换为您的驱动程序版本。例如:1.2.45.1069

  • 与 JDBC 4.2 兼容的驱动程序:

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

    此驱动程序的类名是 com.amazon.redshift.jdbc42.Driver

不带开发工具包的 Amazon Redshift Maven 驱动程序包含以下必需的依赖项,您必须在项目中包含这些依赖项。

<dependency> <groupId>org.antlr</groupId> <artifactId>antlr4</artifactId> <version>4.5.3</version> <scope>runtime</scope> <optional>false</optional> </dependency>

无开发工具包的 Amazon Redshift Maven 驱动程序包含以下可选依赖项,您可以根据需要将其包含到您的项目中。

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

如果您的工具需要使用某个早期版本的驱动程序,请参阅将以前的 JDBC 驱动程序版本与 Maven 一起使用

将驱动程序升级到最新版本

要将 Amazon Redshift JDBC 驱动程序升级或更改到最新版本,请先将依赖项的版本部分修改为驱动程序的最新版本。然后用 Maven Clean Plugin 清除您的项目,如下所示。

mvn clean

配置 JDBC 驱动程序选项

要控制 Amazon Redshift JDBC 驱动程序的行为,您可以将配置选项附加到 JDBC URL。例如,以下 JDBC URL 使用安全套接字层 (SSL)、用户 (UID) 和密码 (PWD) 连接到您的集群。

jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev?ssl=true&UID=your_username&PWD=your_password

有关 SSL 选项的更多信息,请参阅使用 SSL 进行连接

有关如何设置 JDBC 驱动程序配置选项的信息,请参阅Amazon Redshift JDBC 驱动程序安装和配置指南在中国(北京)区域,请使用以下链接:Amazon Redshift JDBC 驱动程序安装和配置指南

在某些情况下使用以前的 JDBC 驱动程序版本 1.0。

仅当您的工具需要使用某个早期版本的 Amazon Redshift JDBC 驱动程序时,才下载此特定的驱动程序版本。有关这些驱动程序版本支持的功能的信息,请参阅 下载 Amazon Redshift JDBC 驱动程序

然后,下载并阅读Amazon Redshift ODBC 和 JDBC 驱动程序许可协议在中国(北京)区域,请使用以下链接:https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf

对于使用身份验证Amazon Identity and Access Management(IAM) 凭证或身份提供商 (IdP) 凭证,请使用 Amazon Redshift JDBC 驱动程序版本 1.2.8.1005 或更高版本。

重要

Amazon Redshift 改变了管理 SSL 证书的方法。如果您必须使用早于 1.2.8.1005 的驱动程序版本,则可能需要更新当前的信任根 CA 证书,才能继续使用 SSL 连接集群。有关更多信息,请参阅将 SSL 连接过渡到 ACM 证书

如果将 Amazon Redshift JDBC 驱动程序用于数据库身份验证,请确保已Amazon SDK for Java1.11.118 或更高版本的 Java 类路径中。如果您没有Amazon SDK for Java,则可以使用包含Amazon软件开发工具包。有关更多信息,请参阅将以前的 JDBC 驱动程序版本与Amazon SDK for Java

注意

中国(北京)区域最早提供的 JDBC 驱动程序版本是 1.1.17.1017。

以下是 JDBC 4.2 兼容的驱动程序:

这些 ZIP 文件包含与 JDBC4.2 兼容的驱动程序(没有AmazonSDK)及其依赖库文件。将相关 jar 文件解压缩到与 JDBC 驱动程序相同的位置。只有 JDBC 驱动程序需要位于 CLASSPATH 中,因为驱动程序清单文件包含与 JDBC 驱动程序位于同一目录中的所有相关库文件名。有关如何安装 JDBC 驱动程序的更多信息,请参阅Amazon Redshift JDBC 驱动程序安装和配置指南在中国(北京)区域,请使用以下链接:Amazon Redshift JDBC 驱动程序安装和配置指南

以下是与 JDBC 4.1 兼容的早期驱动程序:

以下是与 JDBC 4.0 兼容的早期驱动程序:

将以前的 JDBC 驱动程序版本与Amazon SDK for Java

如果将 JDBC 驱动程序用于数据库身份验证,请确保您具有Amazon SDK for Java1.11.118 或更高版本的 Java 类路径中。如果您没有Amazon SDK for Java,则可以使用以下驱动程序之一,其中包括Amazon软件开发工具包。

将以前的 JDBC 驱动程序版本与 Maven 一起使用

仅当您的工具需要使用某个早期版本的 Amazon Redshift JDBC 驱动程序时,才向项目中添加此特定的驱动程序版本。有关这些驱动程序版本支持的功能的信息,请参阅下载 Amazon Redshift JDBC 驱动程序。有关使用 Maven 进行配置的信息,请参阅使用 Apache Maven 配置 JDBC 连接