我也发现了确切的问题。显然这对于免费的ODBC驱动程序很常见。这是我早上头痛的尝试将项目从MySQL迁移到ODBC SQL Server。我终于找到了为我摆脱这个的东西。
出现此错误,因为前一个结果集中仍存在活动光标。我可以在不使用断开/重新连接方法的情况下通过确保在发布新记录集之前读取整个第一个记录集(即使仅使用其中的一部分)来摆脱此错误。注意:我正在使用PHP。
给我一个错误:
$ sql =“SELECT COUNT(无论如何),无论是什么来自”;
$ countResult = odbc_exec($ db,$ sql);
$ countMenuHeader = odbc_fetch_array($ countResult);
extract($ countMenuHeader);
$ countRecords = $ NumMenuHeader;
$ sql =“无论如何,选择任何东西”;
$ result = odbc_exec($ db,$ sql);
$ MenuHeader = odbc_fetch_array($ result);
清除了错误:
$ sql =“SELECT COUNT(无论如何),无论是什么来自”;
$ countResult = odbc_exec($ db,$ sql);
while($ countMenuHeader = odbc_fetch_array($ countResult))
{  
提取($ countMenuHeader);  
$ countRecords = $ NumMenuHeader;}
$ sql =“无论如何,选择任何东西”;
$ result = odbc_exec($ db,$ sql);
$ MenuHeader = odbc_fetch_array($ result);
简而言之,确保在移动到之前完全读取或获取数据集
下一个声明。