質問
私は、データと私のテーブルをロードするために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
所属していません StackOverflow