php - 游标状态无效,SQLExecDirect 中的 SQL 状态 24000

标签 php sql-server stored-procedures odbc database-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);

我在第二次调用存储过程后在 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/

相关文章:

sql存储过程中的多次更新

sql-server - 使用用户定义的表类型需要什么权限

php - 在 MySQL 中存储日志记录时的性能问题

sql-server - 如何在 SQL Server 2008 Express 中安装企业管理器?

php - 返回每个对象或一个 arrayCollection 之间的区别

php - SQL 顺序 - 两个不同的表具有一个相同的键

sql-server - SQL Server 在插入时触发以及如何引用插入的数据

sql-server - 如何将四个计算值添加到存储过程 (TSQL) 的结果集中?

php - Linux 和 Windows 进程之间的 IPC

php - Oracle 即时客户端 DYLD_LIBRARY_PATH 错误