无法使用 PostgreSQL 数据库映射从 unixodbc 返回的错误代码

问题描述 投票:0回答:1

我正在使用 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)时,我才注意到这个问题。有人可以告诉我为什么会出现这个问题吗?

编辑1:

如果有任何帮助,我将获得以下 szErrorMsg 值:

  • 执行查询时出错
  • 无法发送查询(连接断开)

编辑2:

'26'返回的是整数,上面链接中提到的代码是十六进制。十进制的 26 对应十六进制的 1A。不幸的是,它与上述文档中的任何内容都不对应。显然我没有主意了!有人可以告诉我不同的 pfNativeError 代码对应什么吗?

postgresql unixodbc
1个回答
0
投票

我必须将 odbc.ini 上的协议值从 8.4 设置为 7.4。使用 Centos 7 和 PostgreSQL 14。

© www.soinside.com 2019 - 2024. All rights reserved.