質問

私は、データと私のテーブルをロードするためにSQL BCPプロセスを使用してトラブルを抱えています。私は、bcpコマンドを実行するためにxp_cmdshellを実行可能ファイルを実行するので、私は、.NETアプリケーションからそれを呼んでいます。ここでのように、これらのコマンドのルックスの何一つであります:

EXEC master..xp_cmdshell 'bcp "[D001Test.Restore].[dbo].[GeneralComments]" in "<DataFile>" -q -c -t "|_|" -r "|+~+|" -k -V80 -a33000 -E -STest'
私は(この場合はD001Test.Restoreに)にインポートしていたデータベース名が持つ

「」名前には、bcpコマンドは失敗します。これを回避する方法はありますか?私はとブラケットなしの両方試してみました。私は、新しいデータベースにデータをインポートする必要があり、それが行われた後、希望する名前に名前を変更します。

役に立ちましたか?

解決

あなたは-q引数と引用符は必要ありません。ドキュメントはq個の引数について次のことを述べます:

  

データベースを指定するには、このオプションを使用して、   所有者、テーブル、またはビュー名のこと   スペースまたは単一引用符が含まれています   マーク。全体の三部分を囲みます   引用符でテーブル名またはビュー名   ( "")。

あなたのデータベース名は、どちらもスペースも単一引用符が含まれています。

これを試してみてください

bcp [D001Test.Restore].dbo.GeneralComments in "<DataFile>" -c -t "|_|" -r "|+~+|"
-k -V80 -a33000 -E -STest
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top