2010-11-28 19 views

答えて

1

私はそれらのあなたがここで比較している全く異なるものだと思います:

  • OPENROWSETは、単に一つのブロブとしてディスク上のファイルをインポート - あなたのように、そのファイルの内容を必要とするならば、これは素晴らしい作品情報の単一の大きな塊は、 - あなたは、単一のXMLフィールドとしてファイル全体の内容を保存したい場合は

  • OPENXMLは非常に異なっている - それは開いて、XMLファイルを解釈し、行セットにそれを向けるだろうだろう - それはyを与えるそのソースXMLファイルに基づいてデータの行と列を作成し、その情報を行と列の表に格納することができます。あなたは、単一の大きな塊としてXMLを取得していないが、それがために、行と列に「細断」されています

だから、本当にあなたのニーズが何であるかに依存します - あなたは大きなとしてXMLが必要な場合チャンクとそれを格納していた - OPENROWSETを使用してください。

あなたが列と行としてXMLで表現されたデータが必要な場合は、OPENXML(または代わりに使用します。全体としてXMLをインポートするには、最初のOPENROWSETを使用して、SQL Server 2005でXQuery関数を使用してアップを

+1

最後の文章では、これらを同じことをする2つの方法(xmlのロードとクエリ)とみなす理由を述べています。それを保存するだけではなく、クエリを実行したいと思っているのですが、なぜそれを選択するのでしょうか? – Daniel

+1

@Daniel:個人的には、OPENROWSETを使用してバルクロードを見つけた後、XQueryを使用してXMLのクエリを実行するか、またはオプションで細断処理します。 –

+1

xmlデータ型(OPENROWSET BULKと組み合わせて)が優先され、廃止されたOPENXMLです。 – Daniel

関連する問題