2

SQLBCPプロセスを使用してテーブルにデータをロードするのに問題があります。.NETアプリケーションから呼び出しているので、xp_cmdshell実行可能ファイルを実行してbcpコマンドを実行します。これらのコマンドの1つは次のようになります。

EXEC master..xp_cmdshell 'bcp "[D001Test.Restore].[dbo].[GeneralComments]" in "<DataFile>" -q -c -t "|_|" -r "|+~+|" -k -V80 -a33000 -E -STest'

インポートするデータベース名(この場合はD001Test.Restore)に「。」が付いている場合。名前では、bcpコマンドは失敗します。これを回避する方法はありますか?角かっこありとなしの両方を試しました。データを新しいデータベースにインポートし、完了後に目的の名前に名前を変更する必要がある場合があります。

4

1 に答える 1

3

-q 引数と引用符は必要ありません。ドキュメントには、q 引数について次のように記載されています。

このオプションを使用して、スペースまたは単一引用符を含むデータベース、所有者、テーブル、またはビューの名前を指定します。3 部構成の表またはビュー名全体を引用符 ("") で囲みます。

データベース名には、スペースも一重引用符も含まれていません。

これを試して:

bcp [D001Test.Restore].dbo.GeneralComments in "<DataFile>" -c -t "|_|" -r "|+~+|"
-k -V80 -a33000 -E -STest
于 2010-02-18T08:18:03.940 に答える