如何在rhel8上配置到teiid的ODBC连接? GSSAPI 协商失败

问题描述

我在 RHEL 8 上安装了默认的 Teiid 12.2。

现在我正在尝试配置一个可供 PHP 使用的 ODBC 连接。

这总是导致错误“[unixODBC]收到对 GSSAPI 协商的无效响应:R”

这是我的 ODBC 配置

[TEIID12]
Driver = PostgreSQL
Trace = No
Description = PostgreSQL Data Source
Servername = servername
Port = 35432
Protocol = 7.4-1
UserName = someusername
Password = xxxx
Database = vdb
ReadOnly = no
ServerType = Postgres
ConnSettings =
UseServerSidePrepare=1
Debug=0
Fetch = 10000

常规的 isql 命令也会失败并显示相同的信息

isql -v TEIID12 someusername xxxx

结果:

[08001][unixODBC]received invalid response to GSSAPI negotiation: R

[ISQL]ERROR: Could not SQLConnect

附加信息:

  • 过去在不同的 Linux 发行版 (Ubuntu) 上使用相同的配置,但在这台机器上,没有配置 kerberos。所以我认为这会影响某种“偏好”。
  • standalone-teiid.xml 配置有 <ssl mode="disabled" /> 用于 odbc 传输。然而,GSS API 错误发生了。
  • 结合后者,有没有可能是postgresql ODBC驱动要求使用GSS? odbc.ini 中是否有可以禁用此功能的设置?
  • 在 Ubuntu 上,驱动程序版本是 10.01,在 RHEL 上是 10.03

解决方法

一个有效的解决方案是在 PGGSSENCMODE=disable 中设置环境变量 /etc/profile

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...