単一のデータベース列から選択された XML を含むファイルを作成する必要があるだけです。
これは SSMS で機能 します xmltab から outputfield を選択します -- 返された XML をグリッドで選択し、名前を付けて保存する output..xml を実行します。ブラウザでファイルを見ると、XML が適切にフォーマットされます。
これは動作しません
EXEC xp_cmdshell 'bcp "SELECT [outputfield] FROM [coTemp].[dbo].[xmltab] FOR XML RAW, BINARY BASE64" queryout \\prdfiles\files\Test\ProvidersFromBCP_T.xml -c -T'
(適切なフォーマットを持たないドキュメントが作成されます。行末が間違っているように見え、ブラウザでファイルを読み取ることができません。
さまざまな行末などを選択するなど、BCP でさまざまなスイッチを試しました。また、クエリの FOR XML 句でさまざまなモードを試しました。たとえば、バイナリ ベース 64 を削除しても、同様の結果が得られました。
これは、の SSMS グリッド プレゼンテーションが自動フォーマットを行うためですか? 多分私はフォーマットファイルを作成しなければなりませんか?
抽出を行う必要があるのは非常にまれであるため、単純にしようとしていましたが、SSMS はメモリ不足のようです。
それを機能させる方法についてのアイデアは大歓迎です!
スティーブ