2015-03-18 2 views
2

Я прочитал несколько постов здесь, в отношении следующей ошибки:Выполнение SQL напрямую; нет курсора, переход от развития дожить

[Microsoft][SQL Server Native Client 11.0][SQL Server]Executing SQL directly; no cursor.

Однако я не могу показаться, чтобы выяснить, почему это работает на моем сервере развития но не на моем реальном сервере. Из того, что я могу сказать, пользователь имеет правильные разрешения в SSMS, а файлы PHP ini идентичны.

Как я звоню хранимую процедуру (работает в разработке):

$tsql = 'EXEC '.SITE_DATABASE.'.'.$db_procedure.' '.$params_new.''; 

$result = $this->db->single($tsql); 

Единственная функция передает SQL на следующий код, но бросает исключение:

$params = array(); 
$options = array('Scrollable' => SQLSRV_CURSOR_KEYSET); 

$stmt = sqlsrv_query($this->handle, $sql, $params, $options) or $this->setError('Unable to query database:', sqlsrv_errors(), $sql); 
if ($stmt === false) { 
     throw new Exception("Query failed:\n" . var_export(sqlsrv_errors(), true)); 
} 

return $stmt; 

пользователь для SQL Server Management Studio получил выполнение на обоих серверах, и, как я уже сказал, файлы PHP ini идентичны. Существуют ли какие-либо разрешения, которые могут быть причиной того, что он не работает на реальном сервере, который я пропустил? Если нет, то почему:

$options = array('Scrollable' => SQLSRV_CURSOR_KEYSET); 

проблема с Live, но не Dev, если серверы идентично настроены? (Один - клон другого).

+0

Является ли собственный клиент установлен на компьютере идентичным (то есть обе версии 11). Это может быть драйвер SQL, [Как определить версию и версию SQL Server и ее компонентов] (https://support.microsoft.com/en-us/kb/321185) – Liam

+0

@Liam one - это клон прочее, обе есть версия 11 да. – Aravona

+1

Выбранные опции ожидают возврата набора результатов. Таким образом, запрос или сохраненный proc возвращают набор результатов? – richardb

ответ

0

Проблема в моем случае была просто упущенной операцией выбора отладки, которая не была прокомментирована. (Да, я сейчас чувствую себя довольно глупо!)

Комментируя это, исправленная проблема, и она продолжалась на Live.

Смежные вопросы