以下のコードは、BCP を使用してデータをダンプする方法について書いたブログ記事からのものです。
持っているものとは違うので、注意点があります。
1 - bcp にパスが見つからない可能性があるため、パスを指定する必要があります。
2 - コンマ区切り値 (csv) 形式であるにもかかわらず、*.xlsx 拡張子を付けていることに気付きました。*.csv 拡張子を使用することをお勧めします。
3 - また、「-t」区切りスイッチの後に文字を指定する必要があります。以下では、16 進値を使用します。この例ではコンマを使用しています。
4 - 最後になりましたが、ファイル名の前後に " " がありません。
これらの問題を修正して、もう一度お試しください。それでもサイコロがない場合。文字列を作成する私のコードを使用してください。PRINT コマンドを使用します。
コマンドラインから呼び出してみてください。そこで機能しない場合は、SQL サーバーでも機能しません。
幸運を。
ジョン・マイナー
www.craftydba.com
PS: それでも問題がある場合は、コマンド実行の出力を投稿してください。
PPS: スキーマは、既存のデータベースに対して既に修正されている必要があります。あなたが偶発的な DBA でない限り、DBA に構文を尋ねてください。
-- BCP - Export query, pipe delimited format, trusted security, character format
DECLARE @bcp_cmd4 VARCHAR(1000);
DECLARE @exe_path4 VARCHAR(200) =
' cd C:\Program Files\Microsoft SQL Server\100\Tools\Binn\ & ';
SET @bcp_cmd4 = @exe_path4 +
' BCP.EXE "SELECT FirstName, LastName FROM AdventureWorks2008R2.Sales.vSalesPerson" queryout ' +
' "C:\TEST\PEOPLE.TXT" -T -c -q -t0x7c -r\n';
PRINT @bcp_cmd4;
EXEC master..xp_cmdshell @bcp_cmd4;
GO