powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / mssql Select из XML
5 сообщений из 5, страница 1 из 1
mssql Select из XML
    #40134531
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь подружить mssql и XML
Нашел вот такой скрипт:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE CURSOR x1 (pole1 C(10), pole2 I)
INSERT INTO x1 (pole1, pole2) VALUES ('111111',1)
INSERT INTO x1 (pole1, pole2) VALUES ('222222',2)
INSERT INTO x1 (pole1, pole2) VALUES ('333333',3)
INSERT INTO x1 (pole1, pole2) VALUES ('444444',4)
INSERT INTO x1 (pole1, pole2) VALUES ('555555',5)
CURSORTOXML('x1', '_xml',1)

text to _script textmerge noshow pretext 7
   DECLARE @xml xml
   SET @xml=?_xml
   SELECT @xml = CAST(CAST(@xml AS VARBINARY(MAX)) AS XML) 
   SELECT 
          x.Rec.query('./pole1').value('.', 'char(10)') AS 'Pole1',
          x.Rec.query('./pole2').value('.', 'int') AS 'Pole2'
   FROM @xml.nodes('/VFPData/x1') as x(Rec)
endtext

=sqlexec(_sqlconnect, _script, 'x1')


Пытаюсь выполнить - возвращает
1934 Connectivity error: [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка SELECT. Следующие параметры SET содержат неверные значения: "ARITHABORT". Убедитесь, что параметры SET содержат значения, подходящие для использования с индексированные представлени
...
Рейтинг: 0 / 0
mssql Select из XML
    #40134555
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скопируй (или запости сюда) из _script текст и выполни в SSMS.
...
Рейтинг: 0 / 0
mssql Select из XML
    #40134574
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поборол. Может кому пригодится...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
CREATE CURSOR x1 (pole1 C(10), pole2 I)
INSERT INTO x1 (pole1, pole2) VALUES ('111111',1)
INSERT INTO x1 (pole1, pole2) VALUES ('222222',2)
INSERT INTO x1 (pole1, pole2) VALUES ('333333',3)
INSERT INTO x1 (pole1, pole2) VALUES ('444444',4)
INSERT INTO x1 (pole1, pole2) VALUES ('555555',5)
CURSORTOXML('x1', '_xml',1)
PRIVATE _xml2, _xml3
_xml2=_xml
TEXT TO _xml3 TEXTMERGE NOSHOW PRETEXT 7
	SET ARITHABORT ON
	DECLARE @xml xml, @str varchar(2000)
	SELECT @xml = CAST(CAST(?_xml2 AS VARBINARY(MAX)) AS XML) 

	SELECT 
	    x.Rec.query('./pole1').value('.', 'char(10)') AS 'Pole1',
	    x.Rec.query('./pole2').value('.', 'int') AS 'Pole2'
	FROM @xml.nodes('/VFPData/x1') as x(Rec)
	SET ARITHABORT Off
ENDTEXT 



Согласно описанию SET ARITHABORT ON работает только в текущем соединении.
SET ARITHABORT Off поставил на всяк.случ.
...
Рейтинг: 0 / 0
mssql Select из XML
    #40134660
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понял, необходимость включать ARITHABORT при работе с XML зависит от установленного уровня совместимости. Это в свойствах базы данных SQL. Называется "Compatibility level"

При значении 100 и больше настройка ARITHABORT не требуется
...
Рейтинг: 0 / 0
mssql Select из XML
    #40134662
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помню, с какой версии ввели эти служебные вьюхи в SQL, но можно так посмотреть.

Код: sql
1.
SELECT compatibility_level from sys.databases where name='Имя_Базы_Данных'
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / mssql Select из XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (7): Анонимы (6), Yandex Bot 2 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]