如何验证已升级 Amazon Redshift JDBC 或 ODBC 驱动程序?

上次更新时间:2020 年 9 月 1 日

我正在尝试升级到最新的 Amazon Redshift JDBC 或 ODBC 驱动程序以连接到 Amazon Redshift 集群。如何执行此操作并检查我是否已升级所有驱动程序?

简短描述

最佳做法是,使用最新的 Amazon Redshift 驱动程序以避免遇到在旧的驱动程序版本中发现的任何问题。有时,AWS 会发送一封电子邮件,告知客户应将其驱动程序更新到最新版本。当最新的 Amazon Redshift 驱动程序出现已知问题或出现有意义的变化时,将发送电子邮件通知。

注意:驱动程序升级仅会使客户端 SQL 数据或尝试连接到 Amazon Redshift 的应用程序发生改变。因此,您不需要对您的 Amazon Redshift 集群进行任何更改。

解决方法

JDBC 升级

要升级您的 Amazon Redshift JDBC 驱动程序,请执行以下步骤:

1.    验证当前正在使用的 JDBC 驱动程序版本:

SELECT DISTINCT trim(remotehost) remote_host,trim(application_name) jdbc_version,
MAX(recordtime) OVER (PARTITION BY application_name) last_time_loggedin
FROM stl_connection_log
WHERE application_name LIKE '%JDBC%'
AND trim(event) = 'set application_name'
ORDER BY 2 DESC;

注意:使用输出中的 IP 地址来识别客户端机器。

2.    请确定您是需要 32 位还是 64 位的版本。

3.    下载 Amazon Redshift JDBC 驱动程序

4.    验证驱动程序是否包含 AWS 开发工具包。

注意:驱动程序文件名中显示该驱动程序的版本号。

例如,RedshiftJDBC42-no-awssdk-1.2.34.1058.jar 表示您应该使用不带 AWS 开发工具包的 JDBC 4.2 兼容驱动程序,并且驱动程序版本为 1.2.34.1058。您可以向 Amazon Redshift 进行身份验证,请使用 IAM 凭证和 JDBC 进行验证。如果您需要 AWS 开发工具包,您必须下载一个包含适用于 Java 的 AWS 开发工具包的 JDBC 驱动程序,或单独下载 AWS 开发工具包。

5.    (可选)如果您使用的是 SQL Workbench/J,请选中现有驱动程序,然后将其删除。选择文件夹图标并提供最新驱动程序的下载位置。然后,选择 OK(确定)。您的驱动程序现已更新。

ODBC 升级

要升级您的 Amazon Redshift ODBC 驱动程序,请执行以下步骤:

1.    请确认您要升级哪些平台(Windows、macOS 还是 Linux)。

2.    安装并配置 ODBC 连接

3.    验证使用的 ODBC 驱动程序版本是否适用于您的平台。

Windows:从 Start(开始)菜单,导航到 ODBC Data Sources(ODBC 数据源)并选择 Drivers(驱动程序)选项卡。从已安装的 ODBC 驱动程序列表中找到 Amazon Redshift ODBC 驱动程序。版本号将显示在 Version(版本)列中。请务必选择 ODBC 数据源管理员,它与用于连接到 Amazon Redshift 的客户端应用程序位数相同。

macOS:在终端,请运行 pkgutil --info com.amazon.redshiftodbc 命令。

Linux:根据您的程序包管理器,请运行以下命令之一:

yum list | grep AmazonRedshiftODBC

-或者-

rpm -qa | grep AmazonRedshiftODBC

循序渐进的驱动程序更新

要循序渐进地更新您的 JDBC 或 ODBC 驱动程序,请执行以下步骤:

1.    用新驱动程序将旧的替换掉。如果应用程序明确指向旧驱动程序文件名,请重新配置此应用程序,然后使用新的驱动程序 3-5 天。

2.    如果更改驱动程序没有产生影响,请将其他 SQL 客户端也更换掉。检查新客户端在 3-5 天内的运行情况以及对 Amazon Redshift 集群是否产生任何影响。

3.    继续循序渐进地更换驱动程序,直至将所有 SQL 客户端都更新到较新版本。

其他问题排查方法

如果您在升级期间遇到任何问题,请尝试一下以下故障排除方法: