Я написал сборку CLR, которая экспортирует данные таблицы в файл XML. Теперь я хочу импортировать эти данные во временную таблицу на другом экземпляре.
Структура файла XML выглядит следующим образом:
<row>
<SystemInformationID>1</SystemInformationID>
<Database_x0020_Version>10.00.80404.00</Database_x0020_Version>
<VersionDate>2008-04-04T00:00:00</VersionDate>
<ModifiedDate>2008-04-04T00:00:00</ModifiedDate>
</row>
Я хочу, чтобы XML был проанализирован в месте назначения и импортирован во временную таблицу. У меня тоже есть главная таблица, так что я могу получить структуру таблицы оттуда.
Есть ли способ? Я использую OPENXML, но, похоже, он работает неправильно. Я могу прочитать файл XML в таблицу, которая будет храниться в столбце с типом данных XML. Моя проблема - анализ данных в этом столбце.
Это временная попытка:
CREATE TABLE ##T (IntCol int, XmlCol xml)
GO
INSERT INTO ##T(XmlCol)
SELECT * FROM OPENROWSET(
BULK 'c:\HISOutput.xml',
SINGLE_CLOB) AS x
--works correctly up to this point
DECLARE @x xml
DECLARE @id int
SELECT @x=XmlCol FROM ##T
EXEC sp_xml_preparedocument @id OUTPUT, @x
SELECT *
FROM OPENXML (@id,'/row',2)
WITH
dbo.awbuildversion
--I used dbo.awbuildversion table from AdventureWorks DB for testing
this doesn't show the first column no matter how I change the OPENXML instruction.
TX заранее