SQL 2000 から SQL 2008 へのシステムのアップグレードである、いくつかのコードを本番環境に展開している最中です。
データベースからいくつかのデータを取得し、bcp を介していくつかのファイルを作成し (successfull)、いくつかの移動コマンドを実行しようとするストアド プロシージャの 1 つで、不思議な問題が発生しています。確実に存在し、サービスは sysadmin として実行されています。
実行しようとしているコードは次のとおりです。
set @cmd_string = 'move '+ @OutPath_AllCards + '*.* '+ @ArchivePath_AllCards
delete from @tbl_xp_cmdshell_output
Insert @tbl_xp_cmdshell_output exec @error_temp = master.dbo.xp_cmdshell @cmd_string
これは私が返すエラーメッセージです
xp_cmdshell Error Executing "move H:\Transfer\CHAD\Outbound\AllCards\*.* H:\Transfer\CHAD\Outbound\AllCards\Archive\"
返されたコマンドラインエラーは
"The filename, directory name, or volume label syntax is incorrect."
これは、同じようにセットアップされた UAT バージョンのデータベースで正常に機能します。
助言がありますか?
アップデート:
ソース ディレクトリにファイルがない場合、エラーを再現できます。おそらくソースディレクトリにファイルがあるはずだと思いますが、 bcp によって作成されるまでにラグがあり、移動を実行するときにまだ存在していないのだろうか?何か案は?