PostgreSQL ODBC:更新列时出现SQLSTATE 22021
我通过ODBC使用PowerBuilder连接到PostgreSQL 17数据库。
服务器编码设置为 'UTF8',在ODBC的“连接设置”参数中,我设置了SET CLIENT_ENCODING TO 'UTF8'。
当我尝试通过显式SQL语句更新一个char(4) 列,其值为 '4· ' 时,问题就出现了(十六进制为34 B7 20 20)。当然,用pgAdmin执行相同的更新语句是可以的。
解决方案
我已经找到了答案:
问题出在所使用的ODBC驱动类型上;测试是在使用 ANSI ODBC驱动13.02进行的;当我把ODBC连接改为 UNICODE ODBC驱动时,一切就能正常工作。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。