mssql_execute失败,“存储过程执行失败”

时间:2011-08-05 14:55:29

标签: php sql-server vbscript ado

我目前使用以下查询成功连接到Windows 2008上的SQL数据库;

$result = mssql_query("EXEC dbo.stored_procedure_name @param_level = 2");

我的查询基于用VB / ADO编写的现有代码,看起来像;

If level = "" Then level = 1

cmdTT.ActiveConnection = connStrTest1

set objParam=cmdTT.CreateParameter("@param_level", adInteger, adParamInput, 4, level)
cmdTT.Parameters.Append objParam

set rsTT = cmdTT.Execute

所以我尝试的是以下内容;

$f = 2;

$stmt = mssql_init('dbo.stored_procedure_name', $mssql_link);

mssql_bind($stmt, "@param_level", $f, SQLINT4, false);

mssql_execute($stmt);

但无论变化如何,似乎总是打印出屏幕上的警告,“警告:mssql_execute()[function.mssql-execute]:存储过程执行失败...

这是我调试此问题的最佳方式吗?任何人都可以看到我的问题的明确解决方案吗?

我目前正在从LAMP堆栈远程连接到数据库。

非常感谢 伊恩

3 个答案:

答案 0 :(得分:3)

这是来自使用FreeTDS的Linux服务器吗?如果是这样,我想知道这是否与TDS版本有关。在/etc/freetds.conf中尝试使用tds version = 8.0

答案 1 :(得分:1)

在sql编辑器中使用硬编码的参数从w /运行存储过程的内容。你会收到更详细的错误消息。

答案 2 :(得分:1)

我知道这是一个很老的帖子,但我相信它会帮助别人。

执行后必须添加mssql_free_statement($stmt)

相关问题