weo*_*tch 6 php sql-server odbc stored-procedures cursor
我需要在 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);
Run Code Online (Sandbox Code Playgroud)
在第二次存储过程调用后,我在 PHP 中收到此错误:
警告:odbc_exec() [function.odbc-exec]:SQL 错误:[unixODBC][FreeTDS][SQL Server]游标状态无效,SQLExecDirect 中的 SQL 状态为 24000
如果我重新安排我调用存储过程的顺序,那么错误总是第二个。有没有办法,idk,重置调用之间的光标位置?这里有点超出我的元素。
对于使用 SQL Server 获取无效游标状态的人,可以尝试一些方法:
SET NOCOUNT ON;
Run Code Online (Sandbox Code Playgroud)
在存储过程或 SQL 脚本的顶部。在这里找到:https : //social.msdn.microsoft.com/Forums/en-US/f872382a-b226-4186-83c7-0d0fcadcd3eb/invalid-cursor-state?forum=sqldataaccess 我在运行一些非常普通的SQL时遇到了这个问题在 SQL Server 2017 中