ASP.net で Web ページを作成していますが、クエリ アナライザーと同じように動作するはずです。基本的にはSQLコマンドを入力するテキストエリアと実行ボタンがあります。
次のように、SMO を使用してデータベースでコマンドを実行しています。
//Create object SMO
Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(new Microsoft.SqlServer.Management.Common.ServerConnection(oConn));
//To execute the command
server.ConnectionContext.ExecuteNonQuery(tbx_cmd.Text);
//OR
myDataset = server.ConnectionContext.ExecuteWithResults(tbx_cmd.Text);
問題は、textarea コマンドには、ストアド プロシージャ (GO のステートメントを含む) や、Query Analyzer と同様に、結果セットを返す select コマンドなど、何でも含めることができることです。
しかし、GO ステートメントがある場合、ExecuteNonQueryメソッドを使用してのみクエリを実行できます。ExecuteWithResultsメソッドを使用すると、GO ステートメントが原因でエラーが発生します。
結果セットを利用できるようにしたい場合は、もちろんExecuteWithResultsメソッドしか使用できません。
同じコマンドテキストを同時に実行する方法を知っている人はいますか?
ありがとうございました!