我正在使用 PostgreSQL 使用 unixodbc 驱动程序,在尝试获取连接时,出现错误。我只打印 SQLError 的 pfNativeError 的值,并且得到的值为“26”。
我已经查看了 postgresql 返回的错误代码,如下所示:http://www.postgresql.org/docs/8.1/static/errcodes-appendix.html#ERRCODES-TABLE
我想知道 unixodbc 在 pfNativeError 中是否只返回上面链接中提到的错误代码的最后三个字符?如果这是真的,我认为唯一的可能是以下错误代码:
22026 字符串数据长度不匹配 string_data_length_mismatch
请告诉我我的想法是否正确。另外,只有当 PostgreSQL 有数百万行,并且导致连接失败的查询试图获取大量数据(10Ks)时,我才注意到这个问题。有人可以告诉我为什么会出现这个问题吗?
如果有任何帮助,我将获得以下 szErrorMsg 值:
'26'返回的是整数,上面链接中提到的代码是十六进制。十进制的 26 对应十六进制的 1A。不幸的是,它与上述文档中的任何内容都不对应。显然我没有主意了!有人可以告诉我不同的 pfNativeError 代码对应什么吗?
我必须将 odbc.ini 上的协议值从 8.4 设置为 7.4。使用 Centos 7 和 PostgreSQL 14。