は、我々はいくつかの明確化が必要な場合があります。おそらく、問題を再現することで、これがあなたに求めているのかどうかを知らせることができます。
組み込みXMLタイプに頼ることなく、既存のXMLをSQL 2005データベースにインポートするにはどうすればいいですか?すでに述べた
かなりまっすぐ進むのソリューションは、OPENXMLと組み合わせるsp_xml_preparedocument、です。
次の例は、正しい使い方を示しています。より完全な例のチェックアウトについては、Using OPENXMLのMSDNドキュメントを参照してください。
declare @XmlDocumentHandle int
declare @XmlDocument nvarchar(1000)
set @XmlDocument = N'<ROOT>
<Customer>
<FirstName>Will</FirstName>
<LastName>Smith</LastName>
</Customer>
</ROOT>'
-- Create temp table to insert data into
create table #Customer
(
FirstName varchar(20),
LastName varchar(20)
)
-- Create an internal representation of the XML document.
exec sp_xml_preparedocument @XmlDocumentHandle output, @XmlDocument
-- Insert using openxml allows us to read the structure
insert into #Customer
select
FirstName = XmlFirstName,
LastName = XmlLastName
from openxml (@XmlDocumentHandle, '/ROOT/Customer',2)
with
(
XmlFirstName varchar(20) 'FirstName',
XmlLastName varchar(20) 'LastName'
)
where (XmlFirstName = 'Will' and XmlLastName = 'Smith')
-- Cleanup xml document
exec sp_xml_removedocument @XmlDocumentHandle
-- Show the data
select *
from #Customer
-- Drop tmp table
drop table #Customer
あなたはxmlファイルを持っているし、その後、上記のような何かをするストアドプロシージャを定義して、はあなたを与える必要があります文字列としてストアドプロシージャにXMLファイル全体の内容を渡し、C#を使用している場合はあなたの既存のテーブルにxmlをインポートするかなり簡単な方法です。