2010-11-25 14 views
0

私は、SQLサーバーデータベースにデータテーブルがある状況があります。今私はSQLコマンドを介してXMLファイルに挿入したい。どうしたらいいですか?SQLテーブルのデータをXMLファイルに保存する方法は?

+0

XMLファイルはローカルディレクトリにありますか?それはそのテーブルの列ですか? –

+0

どのバージョンのSQL Serverですか? CREATE TABLEステートメント、サンプルデータ、および期待される出力...およびより良い受け入れ評価が必要です。 –

+0

ローカルディレクトリにXMLファイルを保存する際に問題はありません.SQL Server 2005を使用しており、テーブルにはさまざまなデータ型の46列があります。 – Rajdeep

答えて

1

-oパラメータまたは同じコマンドをxp_cmdshellと入力して、cmdシェルからクエリを実行できます。 selectステートメントでは、xxxオプションにはを使用できます。結果は印刷コマンドで印刷する必要があります。例えば

SQLcmd -S "(local)\sqlexpress" -E -d "EFEx" 
-q "declare @i nvarchar(max) 
set @i = (select * from [Group] for xml auto,root(''groups'')) 
print @i" 
-o "C:\Projs\results.xml" 

は、私はこのことができます願っていたファイルを作成するためのセキュリティ権限を忘れ、xp_cmdshellを

exec sp_configure 'xp_cmdshell', 1 
reconfigure; 

を有効にしないでください。

0

簡単な答えは、純粋なT-SQLを使用してファイルに出力することはできません。 SQLサーバーに接続するために使用するクライアントは、出力をファイルにパイプする必要があります。

あなたは、いくつかの選択肢があります: - BCPユーティリティ(推奨、XML形式のファイルのセクションを読んで) - SQLCMDユーティリティ - 仕事をするSSISパッケージをビルドします(あなたのケースのためにやり過ぎのように聞こえる)

をあなたははxp_cmdshellを使ってSQLセッションからこれらのコマンドを実行できると言った。

関連する問題