Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 запрос с WITH не работает на WinXP?  [new]
ЕвгенийХ
Member

Откуда:
Сообщений: 9
Пытаемся получить список id рекурсивным запросом:

WITH TreeStrukt(parent_id, link_id, SubLevel) as 
(Select parent_id, link_id, 0 From LSDBO.tree_link_view 
Where parent_id = 100000007100000 And 
link_type_id = 1 
Union All Select tr.parent_id, tr.link_id, SubLevel + 1 
From LSDBO.tree_link_view as tr Inner Join TreeStrukt St On tr.parent_id = St.link_id 
Where tr.link_type_id = 1 ) 
Select Ts.link_id, Obj.Description As DescriptionPot 
From TreeStrukt Ts 
Inner Join LSDBO.object_reference_view As Obj On Ts.link_id = Obj.ID 
Inner Join LSDBO.object_reference_view As Obj1 On Ts.parent_id = Obj1.ID 
Inner Join LSDBO.object_type As Otyp On Obj.Type_ID = Otyp.ID 
Where Obj.Type_ID = 100000014000000 Order By Ts.SubLevel


Работает на разных компьютерах с разными ОС, кроме Windows XP SP3 x32.
БД на сервере MS SQL 2008 R2 Standart на Windows Server 2012

Возвращает ошибку "Неправильный синтаксис около ключевого слова WITH" ошибка 156

Как сделать, что бы запрос заработал на WinXP?
16 мар 15, 11:16    [17388261]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЕвгенийХ
Как сделать, что бы запрос заработал на WinXP?

Синтаксис MS SQL не зависит от версии оп.системы
Только от версии самого MS SQL и уровня совместимости базы
16 мар 15, 11:18    [17388270]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4823
ЕвгенийХ,
Может вы просто банально забыли точку с запятой перед with поставить на том сервере, где оно "не работает"?

; with
16 мар 15, 11:38    [17388428]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
ЕвгенийХ
Member

Откуда:
Сообщений: 9
Вот и я думаю, что не должен зависеть.
Как может повлиять уровень совместимости базы? И как его привести к нужному значению?

Простой запрос Select проходит нормально.
16 мар 15, 11:40    [17388446]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
ЕвгенийХ
Member

Откуда:
Сообщений: 9
a_voronin, там нет нигде точки с запятой ни на одной из машин.
Скачал для испытаний HeidiSQL, отправляю запрос из неё, запрос один и тот же. Проблема повторяется - на всех компьютерах работает, а на компе с winxp этот запрос не проходит. Простейшие запросы срабатывают.
16 мар 15, 11:42    [17388470]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЕвгенийХ
Как может повлиять уровень совместимости базы?

Напрямую

ЕвгенийХ
И как его привести к нужному значению?

Руками в студии, командой - на ваш выбор
16 мар 15, 11:44    [17388479]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЕвгенийХ
Проблема повторяется - на всех компьютерах работает, а на компе с winxp этот запрос не проходит.

У вас на всех компьютерах стоит MS SQL 2008 R2 Standart ? Или вы со всех компьютеров соединяетсь с один и тем же MS SQL 2008 R2 Standart ?
16 мар 15, 11:45    [17388492]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
ЕвгенийХ
Member

Откуда:
Сообщений: 9


К сообщению приложен файл. Размер - 27Kb
16 мар 15, 11:51    [17388538]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
ЕвгенийХ
Member

Откуда:
Сообщений: 9
Glory,
база только на сервере, компы к ней подключаются, все к одной и той же
16 мар 15, 11:52    [17388548]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЕвгенийХ
компы к ней подключаются,

И все конечно используют один и тот же драйвер ?

ЕвгенийХ
Картинка с другого сайта.

Это что за пррложение ?
16 мар 15, 11:53    [17388558]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
ЕвгенийХ
Member

Откуда:
Сообщений: 9
Приложение HeiidiSQL 9.1
Драйвер не знаю где посмотреть. Как проверить версию драйвера?
16 мар 15, 12:08    [17388689]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЕвгенийХ
Приложение HeiidiSQL 9.1
Драйвер не знаю где посмотреть

Спросить у поддержки HeiidiSQL 9.1 ? Прочитать документацию по HeiidiSQL 9.1 ?

ЕвгенийХ
Как проверить версию драйвера?

А вы устанавливали на все машины драйвера MS SQL 2008 R2 ?
16 мар 15, 12:11    [17388711]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
iap
Member

Откуда: Москва
Сообщений: 47066
ЕвгенийХ
Приложение HeiidiSQL 9.1
Драйвер не знаю где посмотреть. Как проверить версию драйвера?
А что возвращает
PRINT @@VERSION
?
и
exec sp_dbcmptllevel <ИмяБазы>;
16 мар 15, 12:14    [17388741]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
o-o
Guest
да у базы там совместимость 2000, без вариантов
16 мар 15, 12:19    [17388782]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
ЕвгенийХ
Member

Откуда:
Сообщений: 9
так не только в этом приложении такой ответ выходит

"А вы устанавливали на все машины драйвера MS SQL 2008 R2 ?"
Ни на одну машину не устанавливали, так работало. Сеть доменная, настройки все одинаковые. Вот на WinXP не срабатывает
16 мар 15, 12:20    [17388790]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЕвгенийХ
Вот на WinXP не срабатывает

Вы думаете, что задолго до MS SQL 2008 в WinXP внедрили все нужные драйвера ?
16 мар 15, 12:23    [17388814]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
o-o
да у базы там совместимость 2000, без вариантов

Тогда бы нигде не работало
16 мар 15, 12:23    [17388817]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
o-o
Guest
ЕвгенийХ,

вам трудно посмотреть, какая совместимость выставлена у базы, или сколько раз попросить надо?
16 мар 15, 12:23    [17388821]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
o-o
Guest
Glory
o-o
да у базы там совместимость 2000, без вариантов

Тогда бы нигде не работало

а где подтверждение, что где-то работает?
я верю только тому, что предъявлено
16 мар 15, 12:25    [17388832]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
o-o
Glory
пропущено...

Тогда бы нигде не работало

а где подтверждение, что где-то работает?
я верю только тому, что предъявлено

17388470
"Проблема повторяется - на всех компьютерах работает, а на компе с winxp этот запрос не проходит."
16 мар 15, 12:26    [17388844]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
o-o
Guest
Glory
o-o
пропущено...

а где подтверждение, что где-то работает?
я верю только тому, что предъявлено

17388470
"Проблема повторяется - на всех компьютерах работает, а на компе с winxp этот запрос не проходит."

ну и?
это ошибка, к-ая явно намекает, что у базы уровень совместимости 2000.
где картинка, что хоть где-то запрос выполнился?
16 мар 15, 12:28    [17388860]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
o-o
это ошибка, к-ая явно намекает, что у базы уровень совместимости 2000.

Мда. Уровень соместимости базы не может работать выборочно для некоторых клиентских машин.
16 мар 15, 12:29    [17388871]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ЕвгенийХ
Приложение HeiidiSQL 9.1

И поставьте в начало запроса ; - фиг его знает, что эта приложение там шлет на сервер
16 мар 15, 12:32    [17388888]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
o-o
Guest
Glory
o-o
это ошибка, к-ая явно намекает, что у базы уровень совместимости 2000.

Мда. Уровень соместимости базы не может работать выборочно для некоторых клиентских машин.

у некоторых вот и "сервер стоит", да только в СМ в "серверах" пусто.
пускай покажет результат вот этого
select name, compatibility_level
from sys.databases
where name = 'MyDB'

и я немедленно отстану со своей версией
16 мар 15, 12:33    [17388900]     Ответить | Цитировать Сообщить модератору
 Re: запрос с WITH не работает на WinXP?  [new]
west74
Member

Откуда: Челябинск
Сообщений: 76
нужно поставить ';' перед with

[url=]http://stackoverflow.com/questions/1439123/incorrect-syntax-near-the-keyword-with-previous-statement-must-be-terminated[/url]
16 мар 15, 12:35    [17388920]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить