Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 CTE+ODBC  [new]
_human
Member

Откуда:
Сообщений: 569
ув. знатоки,
есть ли ограничение на использование CTE в запросе для приложения которое использует ODBC ?
Собсна ошибка "S1106: [Microsoft][ODBC SQL Server Driver] Fetch type out of range"
16 июн 14, 14:43    [16169727]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
Glory
Member

Откуда:
Сообщений: 104751
И какая команда клиентского кода вызывает ошибку ?
16 июн 14, 14:48    [16169771]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
_human
Member

Откуда:
Сообщений: 569
Glory,

Сказать не могу.
Но если не использовать CTE тогда все ОК.
Ругается только на CTE.
16 июн 14, 14:55    [16169828]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
_human,

если Вы не знаете, какой код выполняется, то как узнали, что дело в CTE?
16 июн 14, 15:08    [16169939]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
_human
Member

Откуда:
Сообщений: 569
Владислав Колосов,

я пишу запрос.
;with cte as ()
select * from cte

который успешно работает в студии, а в приложении - нет.

п.с. я не разработчик приложения.
16 июн 14, 15:11    [16169966]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
Glory
Member

Откуда:
Сообщений: 104751
_human
а в приложении - нет.

Почему вы считаете, что не работает именно запрос ?
А не приложение с его курсором по результатам запроса ?
16 июн 14, 15:16    [16170028]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Попробуйте использовать Native ODBC драйвер, а не стандартный из поставки Windows.
16 июн 14, 15:16    [16170034]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
_human
Member

Откуда:
Сообщений: 569
Glory
Почему вы считаете, что не работает именно запрос ?

Я считаю что возникает ошибка из-за использования CTE
Glory
А не приложение с его курсором по результатам запроса ?

Это как ? Приложение переписывает запрос CTE на запрос с курсорами и передает его серверу который возвращает ошибку S1106?
Владислав Колосов
Попробуйте использовать Native ODBC драйвер, а не стандартный из поставки Windows.

Такой возможности нет.
16 июн 14, 15:24    [16170097]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
Glory
Member

Откуда:
Сообщений: 104751
_human
Это как ? Приложение переписывает запрос CTE на запрос с курсорами и передает его серверу который возвращает ошибку S1106?

Вы не знаете, что все результаты клиенты обрабатывают в виде курсора ?

_human
Я считаю что возникает ошибка из-за использования CTE

Что за команда "использовать" ?
Какая ее часть выполняется на сервере ? С каким успехом выполняется ?
16 июн 14, 15:26    [16170118]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
автор
Такой возможности нет.

В таком случае, готовьтесь и к другим проблемам, например, невозможности получения типов данных, которые появились с SQL 2005 и выше и прочим.
16 июн 14, 15:33    [16170172]     Ответить | Цитировать Сообщить модератору
 Re: CTE+ODBC  [new]
_human
Member

Откуда:
Сообщений: 569
вопрос закрыт
16 июн 14, 15:49    [16170356]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить