问题描述
我在 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
。