Вопрос
Вызов хранимой процедуры из сервиса запроса при смене версии MS SQL Server
22 марта 2017 10:52
Доброго времени суток, коллеги.
Клиент TerrasoftCRM 3.3.2.245
Такая проблема: на основании данного форума я сделал сервис SelectQuery:
SELECT
1 AS [a] INTO #tmp
DROP TABLE #tmp
EXEC GetMissingDocuments
/* AS [FakeHeader],
AS [DocNumber],
AS [TaskID],
*/
IF 1=0
SELECT 1 AS [FakeFooter]
FROM
[dbo].[tbl_DatabaseInfo] AS [tbl_DatabaseInfo]
1 AS [a] INTO #tmp
DROP TABLE #tmp
EXEC GetMissingDocuments
/* AS [FakeHeader],
AS [DocNumber],
AS [TaskID],
*/
IF 1=0
SELECT 1 AS [FakeFooter]
FROM
[dbo].[tbl_DatabaseInfo] AS [tbl_DatabaseInfo]
и вызывал через него хранимую процедуру. Вызывал так:
[js]
var SelectQuery = GetSingleItemByCode('sq_GetMissingDocuments', 'GetMissingDocumentsTasks');
var Result = SelectQuery.Open();
[/js]
Пока база работала на MS SQL Server 2005 все было нормально. После перехода на SQL Server 2008 R2 при вызове SelectQuery.Open() получаю ошибку "Ошибка открытия источника данных "".
Оригинальное сообщение об ошибке: Неопознанная ошибка". Причем если выполнить этот запрос в SSMS, то он выполняется корректно. В SQL Server Profiler ошибок тоже нет. На клиентском компьютере установлена версия SQL Native Client 2008 R2. Куда еще можно копнуть?
Нравится
5 комментариев
22 марта 2017 11:48
Можно переделать логику чисто на скрипт, без сервиса. Как тут.
22 марта 2017 12:09
Можно процедуру в функцию переделать, с функциями в 2008 проблем не было. Также см. обсуждение, там тоже под новую версию переделывали.
22 марта 2017 12:49
"Зверев Александр" написал:Можно процедуру в функцию переделать
Попробую конечно, но все равно не понятно. У меня в базе есть еще одна аналогичная конструкция. Отличается тем, что ХП в ней получает параметры и результат достается через Dataset и отображается на форме. И она прекрасно работает.
22 марта 2017 13:44
Подобные способы использования что процедуры, что функции являются «хаком» и обходом стандартного поведения сервиса sq, их работа всегда и везде не гарантируется. Возможно, в 2008 что-то изменилось в движке работы с БД.
"Riptor" написал:И она прекрасно работает.
Это хорошо.:cool:
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать