我想升级到最新的 Java Database Connectivity (JDBC) 或 Open Database Connectivity (ODBC) 驱动程序以连接到我的 Amazon Redshift 集群。
解决方法
为避免早期驱动程序版本出现问题,最佳做法是使用最新的 Amazon Redshift 驱动程序。当存在已知的驱动程序问题或重大更改时,AWS 会发送一封电子邮件,通知您将驱动程序更新到最新版本。
**注意:**驱动程序升级仅涉及对尝试连接到 Amazon Redshift 的客户端 SQL 数据或应用程序的更改。因此,您无需修改您的 Amazon Redshift 集群。
JDBC 升级
要在 Amazon Redshift 中升级您的 JDBC 驱动程序,请完成以下步骤:
-
运行以下命令来检查当前 JDBC 驱动程序版本:
SELECT DISTINCT trim(remotehost) remote_host,trim(driver_version) jdbc_version,
MAX(recordtime) OVER (PARTITION BY driver_version) last_time_loggedin
FROM stl_connection_log
WHERE driver_version LIKE '%JDBC%'
AND trim(event) = 'set application_name'
ORDER BY 2 DESC;
**注意:**使用输出中的 IP 地址来识别客户端计算机。
-
确定您需要 32 位还是 64 位版本。
-
下载最新的 Amazon Redshift JDBC 驱动程序。
-
检查驱动程序是否包含 AWS SDK。
**注意:**您可以在驱动程序文件名中找到驱动程序版本号。例如,对于 RedshiftJDBC42-no-awssdk-1.2.34.1058.jar,使用不带 AWS SDK 的 JDBC 4.2 兼容驱动程序。驱动程序版本为 1.2.34.1058。您可以使用 AWS Identity and Access Management (IAM) 凭证和 JDBC 向 Amazon Redshift 进行身份验证。如果您必须使用 AWS SDK,请下载包含适用于 Java 的 AWS SDK 的 JDBC 驱动程序,或者仅下载 AWS SDK。
-
(可选)如果您使用 SQL Workbench/J,请选择现有驱动程序并将其删除。选择文件夹图标并提供最新驱动程序的下载位置。然后,选择 OK(确定)以更新您的驱动程序。
ODBC 升级
安装和配置 ODBC 连接。
然后,根据您的操作系统 (OS) 执行以下操作之一来验证 ODBC 驱动程序版本。
Microsoft Windows
在 Start(开始)菜单上,导航到 ODBC Data Sources(ODBC 数据来源),然后选择 Drivers(驱动程序)选项卡。从已安装的 ODBC 驱动程序列表中找到 Amazon Redshift ODBC 驱动程序。版本号显示在 Version 列中。请务必选择与您用于连接 Amazon Redshift 的客户端应用程序具有相同位数的 ODBC 数据来源管理器。
macOS
在终端运行 pkgutil --info com.amazon.redshiftodbc 命令。
Linux
根据您的软件包管理器,运行以下命令之一:
yum list | grep AmazonRedshiftODBC
-或-
rpm -qa | grep AmazonRedshiftODBC
逐步更新驱动程序
要逐步更新 JDBC 或 ODBC 驱动程序,请完成以下步骤:
- 将旧驱动程序替换为新驱动程序。如果应用程序明确指向旧驱动程序文件名,请重新配置该应用程序并将新驱动程序使用 3-5 天。
- 如果驱动程序升级没有影响您的集群,请更换额外的 SQL 客户端。检查新客户端在 3-5 天内的运行情况,然后确定它是否影响了您的集群。
- 逐步继续替换驱动程序,直到所有 SQL 客户端更新到最新版本。
其他故障排除
如果您在升级期间遇到问题,请执行以下操作:
- 暂时启用驱动程序级别的日志记录。要启用 JDBC 驱动程序的日志记录,请参阅配置日志记录。有关 ODBC 驱动程序,请参阅 ODBC 驱动程序选项。
- 恢复到以前的驱动程序版本。