Я подключаюсь к базе данных SQL Server из PHP, используя ADODB. У меня есть несколько хранимых процедур, которые я выполняю просто отлично. Последний звонок, который я по какой-то причине создал, продолжает сбой. Я поставил отладку как правда, и она работает просто отлично. Я понятия не имею, почему это будет происходить.
вот ошибка, которую я получаю
Error: mssql_execute() [<a href='function.mssql-execute'>function.mssql-execute</a>]: stored procedure execution failed in /path/to/adodb/lib/adodb5/drivers/adodb-mssql.inc.php on line 768
Вот метод, который я создал, чтобы передать все мои хранимые процедуры, как я сказал, что он отлично работает с другими хранимыми процедурами, но этот, и я дважды проверил правильность всех написаний параметров и хранимых процедур.
protected function _getSpArray($db, $sp, array $spParams) {
try {
$stmt = $db->PrepareSP($sp);
foreach ($spParams as $param) {
$db->InParameter($stmt, $param[0], $param[1]);
}
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$rs = $db->Execute($stmt);
$rsArray = array();
if (!$rs) {
echo 'No records found \n';
return;
}
else {
foreach ($rs as $k => $row) {
$rsArray[$k] = $row;
}
}
return $rsArray;
} catch (ErrorException $e) {
echo $e->getMessage();
}
}
Ошибка в этой строке # 768 adodb5 / drivers / adodb-mssql.inc.php
$rez = mssql_execute($sql[1]);
и массив sql имеет эти значения
[0] stored_procedure_name
[1] resource id='657' type='mssql statement'
Я видел следующие комментарии на PHP.net, я изменил имя своего хоста freetds на другое, отличное от IP-адреса, и все еще ничего. Я не уверен в бесплатном результате, так как я использую adodb.
http://www.php.net/manual/en/function.mssql-execute.php#93938
Я использую Adodb 5.11