Readme_MARS

更新 : 2006 年 7 月 17 日

このサンプルは、MARS (複数のアクティブな結果セット) 機能の使用方法を示します。MARS を使用すると、1 つまたは複数のコマンドの実行結果のすべてがクライアントにまだ完全に返されていない場合でも、1 つの接続で複数のコマンドを実行することができます。

サンプルは、演習目的で利用するためにのみ提供されています。サンプルを運用環境で使用することは想定されていないため、運用環境でのサンプルのテストは行われていません。Microsoft では、これらのサンプルに関する製品サポート サービスを提供していません。システム管理者の承認を得ることなく、サンプル アプリケーションやサンプル アセンブリを、運用中の SQL Server データベースやレポート サーバーに接続したり、これらのデータと共に使用することは避けてください。

既定の場所は、drive:\Program Files\Microsoft SQL Server\90\Samples\Engine\ です。

Data Access\ADO\MARS です。

シナリオ

AdventureWorks Cycles は、塗料コストの上昇によって最も一般的な自転車の価格が上昇しているため、これらの自転車の標準価格と表示価格を上げようとしています。価格の上昇は、塗料の色によって異なります。

言語

Transact-SQL、Visual C# および Visual Basic。

機能

MARS サンプルは、SQL Server 2005 と Microsoft .NET Framework Version 2.0 の次の機能を使用します。

アプリケーション エリア 機能

全体

MARS、ADO.NET 2.0、Transact-SQL ストアド プロシージャ

前提条件

このサンプルを実行する前に、次のソフトウェアがインストールされていることを確認してください。

  • SQL Server 2005 または SQL Server 2005 Express Edition (SQL Server Express)。SQL Server Express は、SQL Server のサンプルとダウンロード Web サイトからダウンロードできます。
  • SQL Server 2005 に付属の AdventureWorks データベース。SQL Server デベロッパー Web サイトからも入手できます。
  • SQL Server 2005 データベース エンジンのサンプル。これらのサンプルは SQL Server 2005 に含まれています。これらの最新バージョンは、SQL Server デベロッパー Web サイトからダウンロードできます。
  • .NET Framework SDK 2.0 または Microsoft Visual Studio 2005。.NET Framework SDK は無料で入手できます。詳細については、「.NET Framework SDK のインストール」を参照してください。

サンプルのビルド

強力な名前のキー ファイルをまだ作成していない場合は、次の指示に従ってキー ファイルを生成してください。

厳密な名前のキー ファイルを生成するには

  1. Microsoft Visual Studio 2005 コマンド プロンプトを開きます。[スタート] メニューの [すべてのプログラム] をポイントし、[Microsoft .NET Framework SDK 2.0] をポイントします。次に、[SDK コマンド プロンプト] をクリックします。

    -- または --

    Microsoft .NET Framework コマンド プロンプトを開きます。[スタート] メニューの [すべてのプログラム] をポイントし、[Microsoft .NET Framework SDK 2.0] をポイントします。次に、[SDK コマンド プロンプト] をクリックします。

  2. ディレクトリの移動コマンド (CD) を使用して、コマンド プロンプト ウィンドウの現在のディレクトリから、サンプルがインストールされているフォルダに移動します。

    ms160937.note(ja-jp,SQL.90).gif注 :
    サンプルが配置されているフォルダを調べるには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server]、[マニュアルとチュートリアル] の順にポイントして、[サンプル ディレクトリ] をクリックします。既定のインストール場所を使用している場合、サンプルは <system_drive>:\Program Files\Microsoft SQL Server\100\Samples にあります。
  3. コマンド プロンプトで、次のコマンドを実行してキー ファイルを生成します。

    sn -k SampleKey.snk

    ms160937.note(ja-jp,SQL.90).gif重要 :
    厳密な名前のキー ペアの詳細については、MSDN の .NET Development Center にある「Security Briefs: Strong Names and Security in the .NET Framework」を参照してください。

サンプルをビルドするには、次の手順を行います。

サンプルのビルド

  1. Visual Studio と CS ディレクトリにあるソリューション ファイルを使用するか、.NET Framework または Microsoft Visual Studio 2005 のコマンド プロンプト ウィンドウのコマンド ラインで次の MSBuild コマンドを使用してサンプルをコンパイルします。

    msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\ MARS.sln

サンプルの実行

このサンプルを実行するには、次の手順を行います。

サンプルの実行

  1. SQL Server Management Studio を使用して scripts\install.sql スクリプトを開きます。ファイルの内容を実行するか、コマンド プロンプト ウィンドウで次のコマンドを実行します。

    sqlcmd -E -I -i Scripts\install.sql

  2. コマンド プロンプト ウィンドウで、CS\MARS\bin\debug ディレクトリに移動し、次のコマンドを実行します。

    mars

サンプルの削除

このサンプルで変更されたデータをリセットしてサンプルを削除するには、次の手順を行います。

サンプルの削除

  1. Management Studio を使用して Scripts\cleanup.sql スクリプトを開きます。ファイルの内容を実行するか、コマンド プロンプト ウィンドウで次のコマンドを実行します。

    sqlcmd -E -I -i Scripts\cleanup.sql

コメント

MARS を使用せずに、サーバー側クエリまたは更新で JOIN を使用する方がより効率的であるかどうかを常に検討する必要があります。たとえば、2004 年 3 月の販売注文の各詳細記録から、販売注文 ID、顧客 ID、製品番号、注文数、およびライン アイテムの合計を知る必要があるとします。次の例では、MARS でこのクエリを記述していますが、このクエリは JOIN を使って記述する方がより効率的です。

SELECT SOH.SalesOrderID, SOH.CustomerID, SOD.ProductID, 
  SOD.OrderQty, SOD.LineTotal
FROM Sales.SalesOrderHeader as SOH
JOIN Sales.SalesOrderDetail as SOD 
  ON SOH.SalesOrderID = SOD.SalesOrderID
WHERE SOH.OrderDate >= CONVERT(datetime, '20040301') 
  AND SOH.OrderDate < CONVERT(datetime, '20040401')
ORDER BY SOH.SalesOrderID;

変更履歴

リリース 履歴

2005 年 12 月 5 日

変更した内容 :
  • キー ファイルの名前や場所など、キー ファイルを生成する手順を変更しました。