postgresql语法错误,然后光标打开

时间:2017-02-04 09:18:19

标签: postgresql odbc runtime-error visual-foxpro

“光标打开”这个错误花了我几个小时来解决,所以我在这里提交解释,以便为遇到同样问题的人提出解决方案。

问题描述:尝试通过标准函数从postgreSQL获取数据SQLEXEC引发了“语法错误”,而同一查询在PGAdmin上正确运行。 Morecover,后续查询系统地提出“光标打开”(每次都需要杀死Postgres进程并重新启动VFP连接)。

条件:Postgres 9.3.3,Windows XP SP2,PostgreSQL ODBC驱动程序(UNICODE)版本9.02.01.00,Visual FoxPro 9 SP1

解决方案:SQLExec第3个参数不应包含点(“。”)。例如,当SQLExec(1,'Select 1','F')没有时,命令SQLExec(1,'Select 1','.F。')会引发问题。

在我的情况下'.F。'价值是以编程方式生成的,这使得诊断变得困难。

1 个答案:

答案 0 :(得分:1)

这不是VFP错误bur程序员的错误。第3个参数是结果的游标名称,如文档中所述,游标名称不能包含点。 OTOH' F'是一个有效的游标名称。

根据语法错误,您很可能尝试传递超过255个字符的长sql字符串文字但不能确定我们没有看到您的代码。在VFP中,还记录了字符文字的长度不能超过255。