我使用PDO运行MSSQL存储过程很多,但我偶尔会遇到存储过程运行不正确的问题。
目前,我有一个相当复杂的存储过程,包括临时表和嵌套循环语句的各种插入。当我从SQL Manager中执行存储过程时,它运行正常。它需要大约1.5分钟才能运行,但它没有问题就完成了。
问题是当我从PHP运行它时:
$q = $dbh->prepare('exec sp_mysp');
$q->execute();
我检查了$q->errorInfo();
并且没有错误,但程序没有完成。它看起来像是在存储过程中嵌套循环的中间转储。
使用PDO从PHP调用存储过程时可以做什么限制?还有,有一个很好的方法可以调试它,因为我被卡住了。
任何帮助都会很棒。
谢谢!
答案 0 :(得分:0)
我遇到了同样的问题,我的存储过程通过SQL管理工作室执行得很好,但是当我使用PDO通过PHP调用EXECUTE时却没有。我没有传递任何参数等。
出于什么原因,我将值插入到Temp表中 - 只要我用实际表替换了临时表,Stored Proc就可以正常执行了。