2
バッチスクリプトでは非常に緑色ですが、クライアントがSSISの使用を許可していないので、これは今すぐに切り替えることができる唯一のツールです。ディレクトリ内の各ファイルでストアドプロシージャをパラメータとして呼び出すにはどうすればよいですか?
私はフラットファイルのフォルダを持っていますが、私は各ファイルのストアドプロシージャを呼び出すと思います。
ファイルをループすることができますが、sqlcmdを呼び出すことはできますが、ファイルの名前をストアドプロシージャに渡す方法がわかりません。ここで
は私が持っているものです。
pushd D:\test
for /F "delims=" %%i IN ('dir /b') do sqlcmd -S servername -U username -P pword -Q "EXEC db.schema.sp $(the_filename)" -v the_filename = %%i
popd
しかし、私はエラーを取得しています: 不適切な構文を '%' に近い
正しい構文は何ですか?
[ドキュメントのページ](https://msdn.microsoft.com/en-us/library/ms162773.aspx)の末尾にある例を参照して、 '='の前後のスペースを削除してください: '-v the_filename =" %% i "' – wOxxOm
@wOxxOmこの変更を行っても、残念なことに構文エラーは解消されませんでした。 – confusedKid