【发布时间】:2017-02-04 09:18:18
【问题描述】:
这个错误“光标打开”花了我几个小时才解决,所以我在这里提交解释,以便为遇到同样问题的人提出解决方案。
问题描述:试图通过标准函数 SQLEXEC 从 postgreSQL 获取数据引发“语法错误”,而同一查询在 PGAdmin 上正确运行。此外,后续查询系统地提出“光标已打开”(每次都需要终止 Postgres 进程并重新启动 VFP 连接)。
条件:Postgres 9.3.3、Windows XP SP2、PostgreSQL ODBC Driver(UNICODE) 9.02.01.00 版、Visual FoxPro 9 SP1
解决方案:SQLExec 第三个参数不应包含点(“.”)。例如,命令 SQLExec(1, 'Select 1', '.F.') 会引发问题,而 SQLExec(1, 'Select 1', 'F') 不会。
在我的情况下,'.F.'值是通过程序生成的,这使得诊断变得困难。
【问题讨论】:
-
你确定 Postgres 6.3.3 吗?
-
从来没有在 Windows 上运行的 Postgres 6.x。第一个支持 Windows 的 Postgres 版本是 8.0
-
抱歉,我说的是 Postgres 9.9.3。现在已更正
标签: postgresql odbc runtime-error visual-foxpro