【问题标题】:Redshift ODBC Connection - Unrecognized configuration parametersRedshift ODBC 连接 - 无法识别的配置参数
【发布时间】: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 编译

【问题讨论】:

    标签: database odbc amazon-redshift


    【解决方案1】:

    看来在com.amazon.redshift.core.v3.ConnectionFactoryImpl.getParametersForStartup中有一个参数传入加载驱动版本参数。此 ConnectionFactoryImpl 使用 com.amazon.redshift.util.DriverInfo 类,该类从该文件中提取版本:redshift_jdbc_driver.properties 或默认将其设置为您正在使用的版本。这些参数看起来是被编码和传递的,这似乎是失败的原因。

    您可以尝试通过设置所需的属性来创建自己的数据源,但这对我不起作用。

    编辑 - 对我来说,我使用的是 Spring Boot,我必须从 Configuration 类中删除 @Configuration 注释,以绕过这些额外的设置。

    【讨论】:

      猜你喜欢
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2017-03-23
      相关资源
      最近更新 更多