我需要在 PHP 中通过 ODBC 依次调用两个存储过程:
#run stored procedure 1
$query = "Shipped_Not_Shipped_Rep ".$_GET['rep_id'];
$result = odbc_exec($dbh, $query);
odbc_result_all($result);
#run stored procedure 2
$query = "Shipped_Not_Shipped_Account ".$_GET['account_id'];
$result = odbc_exec($dbh, $query);
odbc_result_all($result);
我在第二次调用存储过程后在 PHP 中遇到此错误:
Warning: odbc_exec() [function.odbc-exec]: SQL error: [unixODBC][FreeTDS][SQL Server]Invalid cursor state, SQL state 24000 in SQLExecDirect
如果我重新安排我调用存储过程的顺序,它总是第二个出错。 idk,有没有办法在调用之间重置光标位置?有点不合我意。
最佳答案
对于人们使用 SQL 服务器获取无效游标状态的一些尝试:
SET NOCOUNT ON;
在存储过程或 SQL 脚本的顶部。 在这里找到:https://social.msdn.microsoft.com/Forums/en-US/f872382a-b226-4186-83c7-0d0fcadcd3eb/invalid-cursor-state?forum=sqldataaccess 我在 SQL Server 2017 中运行一些非常普通的 SQL 时遇到了这个问题
关于php - 游标状态无效,SQLExecDirect 中的 SQL 状态 24000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1752548/