SQL Server 2008 で、 sqlcmdユーティリティを使用して、ストアド プロシージャの結果をファイルにエクスポートしたいと考えています。現在、ストアド プロシージャの最後は、最後に "for xml path.." 句を含む select ステートメントです。
ファイル サイズが 1MB に達したときに出力を切り詰めたくない場合は、この:XML ONコマンドを使用する必要があることをBOLで読みましたが、ストアド プロシージャを呼び出す前に、独自の行に配置する必要があります。
- sqlcmdの入力ファイルを指定せずにそれを行うことが可能かどうかを知っている専門家はいますか? (私はこのように sqlcmd を呼び出しています:
exec master..xp_cmdshell 'sqlcmd -Q"exec storedProcedureName @param1=value1, @param2=value2" -o c:\exportResults.xml -h-1 -E'
、
ただし、「storedProcedureName」とそのパラメーターは変更される可能性があります。つまり、sqlcmd に渡されるパラメーターごとに 1 つの入力ファイルが必要になります)。
- また、ストアド プロシージャが一時テーブルを作成し、その上で DML ステートメントを実行しているため、sqlcmd の代わりに bcp を使用できないようです。
どうもありがとう