2016-09-21 17 views
0

を書きませんが、私は私がSSMSの内側からBCPを実行できるようにするには、このコードを実行しました:SQL ServerのBCP機能はSQL ServerにBCPユーティリティをダウンロードしたら、ファイル

EXEC sp_configure 'show advanced options', 1 
GO 
RECONFIGURE 
GO 
EXEC sp_configure 'xp_cmdshell', 1 
GO 
RECONFIGURE 
GO 

は今、私が記述しようとしていますこのコードでコンピュータにファイルをテストしてください:

exec xp_cmdshell 
'bcp 
"select top 5 patientid from tpsqldb1.cdw.dbo.pmview" 
queryout 
"c:\users\pmckann\documents\test.csv" -T t, -S TPSQLDB1\MSSQLSERVER 
' 

ファイルは書き込まれていません。下部にクエリが正常に実行されたと表示されますが、ファイルは作成されません。出力の残りの部分はこれです:

enter image description here

任意のポインタ、どんなに基本的な、非常に高く評価されるだろう。

+0

は、あなたのデータベース名は 'MSSQLSERVER'ですか? –

+0

本当にSQLからBCPを呼び出す必要はありますか?それには何も問題はありませんが、実際にはその呼び出しメソッドのためのものではありません。すでにSQLを使用している場合は、Aceプロバイダで 'openrowset'を使用してテキストファイルに書き込むことができます。そしてあなたの特定のケースでは、コマンドライン引数が間違っていて、Books Onlineを読んで、 'cmd.exe'ウィンドウからテストして、まずそれらを正しく取得してください。 ' ":\ユーザー\ pmckann \ドキュメント\のtest.CSV C" -T -S TPSQLDB1 -d CDW BCP "tpsqldb1.cdw.dbo.pmviewからトップ5 patientidを選択し、" queryout ' – ajeh

+0

は 'のexec xp_cmdshellを を使用してみてください' –

答えて

0

OKを。 Kashif Qureshiは良い答えがありましたが、なぜ私の元のコードがうまくいかなかったのかを具体的に説明したいと思います。 bcpコマンドの行を分けることはできません。これは1行にする必要があります。また、私は-Sの行を削除しました。:

EXECUTE master..xp_cmdshell 'bcp "select top 5 * from cdw.dbo.pmview" queryout C:\temp\test.csv -t, -c -T ' 

おかげさで皆さん。

1

これは私にとってオールウェイズ作業があります。

Exec Master..xp_cmdshell 'bcp "select top 5 columnname from dbname.dbo.tablename" queryout "c:\temp\test9.csv" -c -U username -P password -S servername\instancename' 
+0

ありがとうございますが、これは私のためには機能しません。 – user1260251

関連する問題