2017-05-23 11 views
0

フォルダ内のデータファイルのセットをSQL Serverテーブルにインポートしています。コマンドラインで手動で入力すると再帰的なbcpを実行できますが、バッチファイルに入れても機能しません。バッチファイルで再帰BCPインポートが機能しない

コマンドは次のとおりです。エラーが返さ

for /r %i in (*) do bcp databasename.dbo.tablename in %i -c -t -S servername -U username -P password -t "|" 

-c was unexpected at this timeです。 -cを削除した場合は-t was unexpected at this timeとなります。

+0

エラーがないことを確認するだけで、bcpコマンドの出力をファイルにリダイレクトできますか? –

+0

@TT。私はbcpコマンドの出力をQに追加しました – Rominus

+0

2番目の '%i'を' "%i" 'のように二重引用符で囲んでみてください。また、コマンドラインに '-t'を2回指定しています。 –

答えて

0

問題は、ファイル名が%iにロードされたときにスペースとダッシュ文字で終わってしまい、bcpコマンドの意味のある部分として解釈されてしまいました。シンプルだが面倒な解決策は、ディレクトリ名とファイル名にスペースやダッシュが含まれていないことを確認することです。

関連する問題