Redshift ODBC 连接 - 无法识别的配置参数
Posted
技术标签:
【中文标题】Redshift ODBC 连接 - 无法识别的配置参数【英文标题】:Redshift ODBC Connection - Unrecognized configuration parameters 【发布时间】:2021-02-22 19:35:16 【问题描述】:我正在尝试在 RHEL 上设置 ODBC 连接以连接到 Redshift 集群。我已经安装了最新的 Redshift ODBC 驱动程序,并修改了 odbc.ini 文件以包含必要的详细信息:
[ODBC Data Sources]
Redshift_Connection=Amazon Redshift (x64)
[Redshift_Connection]
Driver=/u01/redshift/lib/64/libamazonredshiftodbc64.so
#Driver=/u01/redshift/lib/32/libamazonredshiftodbc32.so
Description=Amazon Redshift ODBC Driver (64-bit) DSN
Server=****
Port=****
Database=****
locale=en-US
尝试连接时 - 我收到以下错误:
error STATE=42704, CODE=34772055228426,
MSG=[Amazon][Amazon Redshift] (10) Error occurred while trying to connect:
[SQLState 42704] FATAL: unrecognized configuration parameter "driver_version"
但是,“driver_version”不是 odbc.ini 文件的配置参数。另外还有一个 odbcinst.ini 文件,但也不包含它。
我尝试设置一个新参数“driver_version”并将其设置为 Redshift ODBC 的版本,但这也不起作用,并尝试了 32 位驱动程序(这是万岁)。
这个“driver_version”参数可能来自其他位置吗?在我可以使此连接正常工作之前一直卡住。
ODBC 驱动程序版本是 1.4.20,直接来自 AWS 网站
Redshift 是 i686-pc-linux-gnu 上的 PostgreSQL 8.0.2,由 GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)、Redshift 1.0.22169 编译
【问题讨论】:
【参考方案1】:看来在com.amazon.redshift.core.v3.ConnectionFactoryImpl.getParametersForStartup中有一个参数传入加载驱动版本参数。此 ConnectionFactoryImpl 使用 com.amazon.redshift.util.DriverInfo 类,该类从该文件中提取版本:redshift_jdbc_driver.properties 或默认将其设置为您正在使用的版本。这些参数看起来是被编码和传递的,这似乎是失败的原因。
您可以尝试通过设置所需的属性来创建自己的数据源,但这对我不起作用。
编辑 - 对我来说,我使用的是 Spring Boot,我必须从 Configuration 类中删除 @Configuration 注释,以绕过这些额外的设置。
【讨论】:
以上是关于Redshift ODBC 连接 - 无法识别的配置参数的主要内容,如果未能解决你的问题,请参考以下文章
R SQL Server ODBC连接在服务器名称中转义字符