ホームページ >データベース >mysql チュートリアル >C# を使用して複数のステートメントを含む SQL スクリプト ファイルを実行するにはどうすればよいですか?
C# を使用して .SQL スクリプト ファイルを実行します
このプログラミング シナリオの目標は、複数行にまたがるステートメントを含む、複数の SQL ステートメントを含む SQL スクリプト ファイルを実行することです。 ODP.NET やプロセス経由で SQLplus を生成するなどの方法を試しましたが、実行と出力キャプチャに問題がありました。 C# を使用して問題を解決する方法は次のとおりです:
C# を使用して .SQL スクリプト ファイルを効果的に実行するには、次の改善点を検討してください:
サーバー名、データベース名、認証資格情報を指定する接続文字列を使用してデータベース接続を確立します。
.SQL スクリプト ファイルの内容を文字列変数に読み取ります。これにより、ファイルを一度読み取って、後で使用できるように内容を保存できます。
接続オブジェクトをパラメータとして指定して、サーバー オブジェクトをインスタンス化します。これにより、使用する SQL Server インスタンスの表現が作成されます。
Server オブジェクトの ConnectionContext プロパティを使用してコマンド オブジェクトを作成します。次に、SQL 文字列をコマンド オブジェクトの ExecuteNonQuery メソッドに渡すことによって、スクリプトが実行されます。これにより、スクリプト内のすべてのステートメントが順番に実行されます。
スクリプトの実行が完了したら、データベース接続を閉じてリソースを解放します。
上記のアプローチを示すコード スニペットは次のとおりです。
<code class="language-csharp">using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; using System.IO; using System.Data.SqlClient; public partial class ExcuteScript : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 请替换为您的连接字符串 string sqlConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ccwebgrity;Data Source=SURAJIT\SQLEXPRESS"; // 读取SQL脚本文件的内容 string script = File.ReadAllText(@"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql"); // 建立数据库连接 SqlConnection conn = new SqlConnection(sqlConnectionString); // 创建服务器实例 Server server = new Server(new ServerConnection(conn)); // 执行SQL脚本 server.ConnectionContext.ExecuteNonQuery(script); // 关闭连接 conn.Close(); } }</code>
これらの手順に従うと、C# を使用して .SQL スクリプト ファイルをプログラムで実行でき、すべてのステートメントが正しく実行され、正確な結果が得られます。
以上がC# を使用して複数のステートメントを含む SQL スクリプト ファイルを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。