ディレクトリ内のすべてのSQLファイルを実行し、エラーがある場合に実行するスクリプトのエラーを表示する方法、実行時にエラーを記録または記録する方法は?複数の/すべてのsqlファイルを実行してエラーログファイルを表示
答えて
これはです。ディレクトリ内のSQLファイルを実行して、検証からマイナスの分離を行う機能です。実生活では、ファイルを見つけるための1つの関数と、ファイルのコレクションを実行するための別の関数を分けることになるでしょう。
public void ExecuteSqlFilesInDirectory(string path, string connectionString)
{
var directory = new DirectoryInfo(path);
var files = directory.GetFiles("*.sql");
if (!files.Any()) return;
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
foreach (var file in files)
{
var sql = File.ReadAllText(file.FullName);
using (var command = new SqlCommand(sql, connection))
{
command.ExecuteNonQuery();
}
}
}
}
ロギングは、これと同じコンテキストで回答しようとはしません。
質問 - 実行の順序は関係しますか?もしそうなら、順序がどのように表示され、関数はシーケンスを知るでしょうか?
また、エラーがある場合はすべてロールバックする必要がありますか?
実行の順序は、インポート/挿入するSQLファイルによっても異なります。うーん、シーケンスについてはgobalakrishnanはバットを使用することについて正しいです。エラーがある場合、またはログファイルまたはテキストパッドにメッセージを表示するか、エラーを表示する方法があります。 –
ワンクリックですべてのスクリプトを実行するには、バッチファイルを使用します。
以下に述べるように、ストアドプロシージャとビューのファイル名をすべて入れ、.bat拡張子で保存します。バッチファイルをクリックするだけで一気に実行され、エラーを監視することができます。
例:
set DBName=myDB
set DBServer="127.0.0.1\SQLInstance"
REM Product List Stored Procedures
osql -E -i GetList.sql -d %DBNAME% -S %DBServer% -n
osql -E -i InsertProduct.sql -d %DBNAME% -S %DBServer% -n
osql -E -i UpdateProduct.sql -d %DBNAME% -S %DBServer% -n
osql -E -i DeleteProduct.sql -d %DBNAME% -S %DBServer% -n
pause
私もそれについて考えましたが、エラーがある場合はどうですか?どのようにログファイルやメモ帳に表示するか、実行されたスクリプトにエラーを表示する方法? –
すべてのファイルが実行されたら、同じコマンドプロンプトウィンドウでエラーを確認できます。また、テキスト全体をコピーすることでこれを保存することもできます。これにより、エラーもキャプチャされます。あなたはどこにいても「一時停止」を含めることができます。これはあなたのために動作することを願っています。 – Gobalakrishnan
自分の質問に答えます。私はそれを共有したいと思ったので、これは便利でした。
https://www.mssqltips.com/sqlservertip/1543/using-sqlcmd-to-execute-multiple-sql-server-scripts/ http://www.sqlservercentral.com/articles/sqlcmd+mode/129764/
私が必要とする唯一のものは、メモ帳でコンパイルエラーに続くSQLファイルを示すエラーを記録することです。
- 1. Powershellスクリプトを実行しているすべての環境変数を表示
- 2. sqlの複数のテーブルからすべての列を表示するには?
- 3. ディレクトリ内のすべてのファイルの最初の数行を表示します。
- 4. すべての列で重複値を表示するSQLクエリ
- 5. xtermを実行して、ファイルの内容を表示します。
- 6. c# - 複数のSQLスクリプトを実行しています
- 7. Oracle DB 12cで実行されたすべてのSQL文を表示
- 8. Yii CDBCommand getTextを使用してSQL内のすべての変数を表示
- 9. 複数のパラメータを使用してSQLクエリを実行
- 10. 複数のSQLクエリを実行して出力をソート
- 11. コマンドプロンプトですべての結果を表示する.batスクリプトからSQLファイルを実行する
- 12. C - デバッグ用のC実行可能ファイルからすべての行をファイルに表示します。
- 13. Tensorboard:一回の実行のすべての要約を表示
- 14. データベーステーブルのすべての行を表示
- 15. Mac OS Xで実行中のすべてのアプリケーションを表示
- 16. kubernetesすべての実行中のポッド名を表示
- 17. ドッカーコンテナのすべての実行パラメータを表示
- 18. 実行可能ファイルを表示して実行してください
- 19. 複数のデータベースに対してraw SQLを実行
- 20. ディレクトリ内のすべてのファイルの数を表示するスクリプト
- 21. Spring Boot/JUnit、複数のプロファイルのすべてのユニットテストを実行
- 22. SQLで重複した値を見つけてすべて表示する
- 23. 複数のファイルに対してPythonユニットテストを実行する
- 24. 複数のnetcdfファイルに対してwindowsコマンドプロンプトを実行する
- 25. 複数のファイルのすべての行を同時に読む
- 26. 複数のターミナルコマンドを1つのファイルに入れて、すべてのコマンドを一度に実行しますか?
- 27. 複数のファイルをアップロードして配列を表示
- 28. ファイル内のすべての変数をbashで表示する
- 29. データベースから複数のテーブル行をループして表示する
- 30. Joptionpaneに複数の行を表示していますか?
ディレクトリ内で1つのsqlファイルをどのように実行していますか?より多くの文脈を提供してください。それがあなたの疑問を表しているからです。 – Hogan
バッチファイルを使用することによって、私はまだ実行しているスクリプトにエラーがあればエラーを記録する方法を表示したいと思っています。 –
Ok、どのOSを使用していますか?答えは、UnixとDOSでは同じではありません。バッチファイルの内容を表示できますか?あなたがしなければ、私たちはどのように答えると思いますか? – Hogan