AdventureWorks Cycles CLR レイヤ サンプルの Readme
[このトピックはプレリリース版のドキュメントであり、今後のリリースでは変更される場合があります。空のトピックがプレースホルダーとして含まれています。ご注意 : マイクロソフトでは、より多くのコンテンツを日本語で提供できるよう、機械翻訳などの方法によってローカライズされたドキュメントを提供する場合があります。このプレリリース版の一部のコンテンツはそのような方法によってローカライズされたものです。私たちマイクロソフトは、このような方法でローカライズされたものが必ずしも最適ではなく、語彙、構文、文法における誤りを含む可能性を認識しています。このコンテンツの最終版は、従来の方法によるローカライズで行われ、その品質は旧版と同等のものになります。]
このサンプルは、SQL Server 2005 および SQL Server 2008 でのみ動作します。SQL Server 2005 より前のバージョンでは動作しません。
SQL Server の AdventureWorksSQLCLRLayer サンプルは、ベースの AdventureWorks2008R2 サンプル データベースの上部にレイヤ機能を追加し、便利なユーティリティをいくつか提供します。1 つ目のユーティリティは、AdventureWorks2008R2 データベースに関係した、さまざまな人々の接続の記録を作成します。接続情報は、XML を使って指定され、C# ベースのストアド プロシージャに渡されます。2 つ目のユーティリティは、C# を使用して Currency ユーザー定義データ型を定義します。このユーザー定義データ型は、価格とカルチャをカプセル化し、そのカルチャの通貨の値で正しい価格を表示する方法を決定するために役立ちます。3 つ目のユーティリティは、Currency ユーザー定義データ型のインスタンスを返す、通貨換算関数を提供します。指定のカルチャに関連付けられている通貨に U.S. ドル (USD) を換算するための換算レートが、AdventureWorks2008R2 データベースに含まれている場合、通貨換算関数は、換算済みレートを格納した Currency ユーザー定義データ型と、要求されたカルチャに一致するカルチャを返します。換算レートがデータベースに含まれていない場合は、USD で表される元の価格を格納した Currency ユーザー定義データ型と、en-us カルチャを返します。このユーティリティは、Transact-SQL を使用した共通言語ランタイム (CLR) メソッドとアセンブリの登録解除と登録の方法も示しています。
注意
このサンプルで使用する換算レートは架空のものです。実際の財務トランザクションには使用しないでください。
SQLCLR サンプルをコンパイルする際には、SQL Server に付属するバージョンの Microsoft .NET Framework コンパイラのパスが、PATH 環境変数の中で最初に現れる .NET Framework ディレクトリであることが必要です。このコンパイラの場所は、drive:\WINNT\Microsoft.NET\Framework\v2.0.xxxxx または drive:\Windows\Microsoft.NET\Framework\v2.0.xxxxx のどちらかになります。drive はインストール ドライブを表し、xxxxx は SQL Server に付属する .NET Framework のバージョンを表します。
既定のインストール ディレクトリは、C:\Program Files\Microsoft SQL Server\100\Samples\Engine\Programmability\CLR\AdventureWorks です。
SQL Server のサンプルやサンプル データベースを表示したり使用したりするには、まずそれをダウンロードしてインストールする必要があります。詳細については、「SQL Server のサンプルとサンプル データベースのインストールに関する注意点」を参照してください。
シナリオ
- 開発者は、異なる通貨での異なる金額の表示、保持、操作を行う便利な手段を必要としています。
- 開発者は、従業員、個別の顧客、店舗の顧客、およびベンダの新しい接続情報を作成し、AdventureWorks2008R2 データベースに格納された他の情報にこれらの情報を関連付ける便利な手段を必要としています。
言語
Transact-SQL、Visual C#、および Visual Basic。
機能
SQLCLR レイヤ サンプルは、次の SQL Server の機能を使用します。
アプリケーション エリア | 機能 |
---|---|
Contact |
XML |
Currency、ConvertCurrency |
CLR UDT、CLR UDF (ユーザー定義関数) |
前提条件
このサンプルを実行する前に、次のソフトウェアがインストールされていることを確認してください。
- SQL Server または SQL Server Express。SQL Server Express は、SQL Server Express ドキュメントとサンプルのWeb サイトから無償で入手できます。
- AdventureWorks2008R2 データベース。SQL Server デベロッパー Web サイトから入手できます。
- SQL Server データベース エンジン サンプル。SQL Server デベロッパー Web サイトから入手できます。
- .NET Framework SDK 2.0 または Microsoft Visual Studio 2005。.NET Framework SDK は無償で入手できます。「.NET Framework ドキュメントのインストール」を参照してください。
サンプルのビルド
強力な名前のキー ファイルをまだ作成していない場合は、次の指示に従ってキー ファイルを生成してください。
厳密な名前のキー ファイルを生成するには
Microsoft Visual Studio 2005 コマンド プロンプトを開きます。[スタート] メニューの [すべてのプログラム] をポイントし、[Microsoft .NET Framework SDK 2.0] をポイントします。次に、[SDK コマンド プロンプト] をクリックします。
-- または --
Microsoft .NET Framework コマンド プロンプトを開きます。[スタート] メニューの [すべてのプログラム] をポイントし、[Microsoft .NET Framework SDK 2.0] をポイントします。次に、[SDK コマンド プロンプト] をクリックします。
ディレクトリの移動コマンド (CD) を使用して、コマンド プロンプト ウィンドウの現在のディレクトリから、サンプルがインストールされているフォルダーに移動します。
注意
サンプルが配置されているフォルダーを調べるには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server]、[マニュアルとチュートリアル] の順にポイントして、[サンプル ディレクトリ] をクリックします。既定のインストール場所を使用している場合、サンプルは <system_drive>:\Program Files\Microsoft SQL Server\100\Samples にあります。
コマンド プロンプトで、次のコマンドを実行してキー ファイルを生成します。
sn -k SampleKey.snk
注意
厳密な名前のキー ペアの詳細については、MSDN の .NET Development Center にある「Security Briefs: Strong Names and Security in the .NET Framework」を参照してください。
UnsafeSampleKey.snk という名前のキー ファイルを生成していない場合は、同じ手順でこのキー ファイルを生成します。
このサンプルをビルドするには、次の手順を行います。
サンプルのビルド
Visual Studio 2005 および提供されている Visual Studio ソリューションを使用するか、.NET Framework SDK 2.0 に含まれている Microsoft MSBuild を使用して、サンプルをコンパイルします。コマンド プロンプトで、次のようなコマンドを実行します。
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\AdventureWorksCS.sln
AdventureWorks2008R2 データベースがインストールされていることを確認します。
既定の場所に SQL Server データベース エンジン サンプルをインストールしなかった場合、サンプルのインストール先が参照されるように、Scripts\InstallCS.sql スクリプトの CREATE ASSEMBLY 部のパスを変更します。
使用している SQL Server インスタンスの管理者でない場合、インストールを完了するためには、CreateAssembly 権限が管理者から許可されている必要があります。
Visual C# プロジェクトと Visual Basic プロジェクトのどちらをコンパイルしたかに応じて、SQL Server Management Studio でファイル scripts\installCS.sql または scripts\installVB.sql を開きます。ファイルに含まれているスクリプトを実行するか、コマンド プロンプトで次のようなコマンドを実行します。
sqlcmd -E -I -i Scripts\InstallCS.sql
このスクリプトは、次の操作を実行します。
- 存在する場合、定義されているストアド プロシージャを削除します。
- 既に存在する場合、アセンブリの登録を削除します。
- アセンブリを登録します。
- CLR ストアド プロシージャを登録します。
サンプルの実行
このサンプルを実行するには、次の手順を行います。
サンプルの実行
Management Studio で Scripts\test.sql ファイルを読み込んで実行します。または、コマンド プロンプトで次のコマンドを実行します。
sqlcmd -E -I -i Scripts\test.sql
サンプルの削除
次のプロシージャを使用して SQLCLR レイヤ サンプルを削除します。
サンプルの削除
Management Studio で Scripts\cleanup.sql ファイルを読み込んで実行します。または、コマンド プロンプトで次のコマンドを実行します。
sqlcmd -E -I -i Scripts\cleanup.sql
備考
このサンプルを正しく機能させるには、SQL Server または SQL Server Express の CLR を有効にする必要があります。
サンプルは、演習目的で利用するためにのみ提供されています。サンプルを運用環境で使用することは想定されていないため、運用環境でのサンプルのテストは行われていません。Microsoft では、これらのサンプルに関する製品サポート サービスを提供していません。システム管理者の承認を得ることなく、サンプル アプリケーションやサンプル アセンブリを、運用中の SQL Server データベースやレポート サーバーに接続したり、これらのデータと共に使用することは避けてください。