SQL.RU
 client/server technologies
 
 Главная | Документация | Статьи | Книги | Форум | Опросы | Рассылка | Работа | Поиск | FAQ |

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

Откуда:
Сообщений: 203
Приветствую!
Имеется файл со следующим содержимым

----------------------------  select * from devicepool,device,DeviceNumplanMap,NumPlan where device.fkdevicepool=devicepool.pkid 
and  Device.pkid=DeviceNumplanMap.fkDevice ----------------------------
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/><SOAP-ENV:Body><axl:executeSQLQueryResponse xmlns:axl="http://www.cisco.com/AXL/API/1.0" xmlns:xsi="http://www.cisco.com/AXL/API/1.0" sequence="1268323502180"><return><row><devicepool>IDDQQ</devicepool><devicename>XXX001XXX954XXX</devicename><description>FF:IDDQQ</description><display>FF:APWO</display><label>9417041</label><intnumber>12105</intnumber><extnumber>412422110</extnumber></row><row><devicepool>FF</devicepool><devicename>XXX001XXX954XXX</devicename><description>FF:</description><display>FF:</display><label>17041</label><intnumber>17041</intnumber><extnumber>412422110</extnumber></row></return></axl:executeSQLQueryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>


Каким образом его можно загрузить в табличку MSSQL 2000?
Спасибо заранее
12 мар 10, 16:36    [8470347] Ответить | Цитировать    Сообщить модератору

 Re: Помогите загрузить файл в MSSQL 2000   [new]
Crimean
Member

Откуда:
Сообщений: 10288
DTS? там вроде есть коннекторы к XML
13 мар 10, 11:55    [8472810] Ответить | Цитировать    Сообщить модератору

 Re: Помогите загрузить файл в MSSQL 2000   [new]
gjkmpjdfntkm
Member

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

там нужно скрипт использовать...пока не могу найти правильное решение,
а возможно сконвертировать приведенный формат XML в формат - хорошо понимаемый
для MSSQL 2000

Например txt,csx,xls
15 мар 10, 18:11    [8481939] Ответить | Цитировать    Сообщить модератору

 Re: Помогите загрузить файл в MSSQL 2000   [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 1439
если файл не большой (до 8000 символов), то bulk insertните во временную таблицу и сделайте выборку
--объявляем переменные
declare @idoc int
declare @xml varchar(8000)

--испортим данные XML
drop table #t
create table #t(xml varchar(8000))
bulk insert #t from '\\vlasov\svalka\test.xml' with(ROWTERMINATOR = '')
	
--парсим документ
set @xml = (select substring(xml, charindex('<?xml', xml), 8000) from #t)
exec sp_xml_preparedocument @idoc OUTPUT, @xml

--получаем результат
select
*
from
--	openxml(@idoc, '/SOAP-ENV:Envelope/SOAP-ENV:Body/axl:executeSQLQueryResponse/return', 8)
	openxml(@idoc, '//return/row', 2)
	with (
		devicepool varchar(20) 'devicepool', 
		devicename varchar(20) 'devicename',
		description varchar(20) 'description',
		display varchar(20) 'display',
		label varchar(20) 'label',
		intnumber varchar(20) 'intnumber',
		extnumber varchar(20) 'extnumber'
	)
exec sp_xml_removedocument @idoc

где @xml и есть внутренности файла

если файл большой, то надо извращаться, чтобы работать с типом данных TEXT

I Have Nine Lives You Have One Only
THINK!
16 мар 10, 11:17    [8484281] Ответить | Цитировать    Сообщить модератору

 Re: Помогите загрузить файл в MSSQL 2000   [new]
gjkmpjdfntkm
Member

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

спасибо,я решил вопрос уже XML ->txt с помощью vbs
16 мар 10, 16:34    [8487550] Ответить | Цитировать    Сообщить модератору

Все форумы / Microsoft SQL Server Ответить
Generated time: 78ms.
Rambler's Top100 Powered by ActualForum 1.5.3 [s1] Copyright (c) Alex Sibilev 2000-2010