ホームページ > バックエンド開発 > C++ > C# で GO コマンドを使用して大規模な SQL スクリプトを実行するにはどうすればよいですか?

C# で GO コマンドを使用して大規模な SQL スクリプトを実行するにはどうすればよいですか?

DDD
リリース: 2025-01-20 01:56:09
オリジナル
371 人が閲覧しました

How Can I Execute Large SQL Scripts with GO Commands in C#?

C# の GO コマンドを使用して大規模な SQL スクリプトを効率的に実行する

データベース管理では、バッチを分割するために GO コマンドを含む SQL スクリプトを実行することがよくあります。 SqlCommand.ExecuteNonQuery() を直接使用すると、これらのスクリプトを扱うときに問題が発生します。

SQL Server 管理オブジェクト (SMO) の活用

堅牢なアプローチでは、SQL Server 管理オブジェクト (SMO) を利用します。 SMO は本質的に GO 区切り文字を処理し、スクリプトの実行を簡素化します。 SMO 内の ServerContext クラスは、この目的のための簡単なメソッドを提供します。

SMO を使用した例を次に示します:

<code class="language-csharp">using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

// Establish a connection to the SQL Server instance
using (SqlConnection connection = new SqlConnection(sqlConnectionString))
{
    // Create a Server object
    Server server = new Server(new ServerConnection(connection));

    // Execute the SQL script
    server.ConnectionContext.ExecuteNonQuery(script);
}</code>
ログイン後にコピー

代替解決策: Haacked のライブラリ

SMO が実現できない場合、Phil Haack のライブラリは GO ステートメントを管理するための代替手段を提供します。

<code class="language-csharp">using Haacked.Sql;

// Execute the script using Haacked's library
BatchScript.Run(sqlConnectionString, script);</code>
ログイン後にコピー

概要

SMO または Haack のライブラリは、C# で GO コマンドを含む大規模な SQL スクリプトを実行するための効率的で信頼性の高い方法を提供し、手動によるバッチ分離の複雑さを排除します。 プロジェクトの依存関係と要件に最も適した方法を選択してください。

以上がC# で GO コマンドを使用して大規模な SQL スクリプトを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート