AdventureWorks Cycles CLR レイヤ
SQL Server 2005 の AdventureWorks Cycles CLR レイヤ サンプルは、ベースの AdventureWorks サンプル データベースの上部にレイヤ機能を追加し、便利なユーティリティをいくつか提供します。1 つ目のユーティリティは、AdventureWorks データベースに関係した、さまざまな人々の接続の記録を作成します。接続情報は、XML を使って指定され、C# ベースのストアド プロシージャに渡されます。2 つ目のユーティリティは、C# を使用して Currency ユーザー定義データ型を定義します。このユーザー定義データ型は、価格とカルチャをカプセル化し、そのカルチャの通貨の値で正しい価格を表示する方法を決定するために役立ちます。3 つ目のユーティリティは、Currency ユーザー定義データ型のインスタンスを返す、通貨換算関数を提供します。指定のカルチャに関連付けられている通貨に U.S. ドル (USD) を換算するための換算レートが、AdventureWorks データベースに含まれている場合、通貨換算関数は、換算済みレートを格納した Currency ユーザー定義データ型と、要求されたカルチャに一致するカルチャを返します。換算レートがデータベースに含まれていない場合は、USD で表される元の価格を格納した Currency ユーザー定義データ型と、en-us カルチャを返します。このユーティリティは、Transact-SQL を使用した共通言語ランタイム (CLR) メソッドとアセンブリの登録解除と登録の方法も示しています。
メモ : |
---|
このサンプルで使用する換算レートは架空のものです。実際の財務トランザクションには使用しないでください。 |
既定のインストール ディレクトリは、drive:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\AdventureWorks です。
シナリオ
- 開発者は、異なる通貨での異なる金額の表示、保持、操作を行う便利な手段を必要としています。
- 開発者は、従業員、個別の顧客、店舗の顧客、およびベンダの新しい接続情報を作成し、AdventureWorks データベースに格納された他の情報にこれらの情報を関連付ける便利な手段を必要としています。
言語
Transact-SQL、Visual C#、および Visual Basic。
機能
SQLCLR レイヤ サンプルは、次の SQL Server 2005 の機能を使用します。
アプリケーション エリア | 機能 |
---|---|
Contact |
XML |
Currency、ConvertCurrency |
CLR UDT、CLR UDF (ユーザー定義関数) |
前提条件
このサンプルを実行する前に、次のソフトウェアがインストールされていることを確認してください。
- SQL Server 2005 または SQL Server 2005 Express Edition (SQL Server Express)。SQL Server Express は、SQL Server 2005 Express Edition ドキュメントとサンプルの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 のインストール」を参照してください。
サンプルのビルド
まだ厳密な名前のキー ファイル (SampleKey.snk および UnsafeSampleKey.snk) を作成していない場合は、次の手順に従ってキー ファイルを生成します。
厳密な名前のキー ファイルを生成するには
Microsoft Visual Studio 2005 コマンド プロンプトを開きます。[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft Visual Studio 2005]、[Visual Studio Tools] の順にポイントして、[Visual Studio 2005 コマンド プロンプト] をクリックします。
または
.NET Framework コマンド プロンプトを開きます。[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft .NET Framework SDK v2.0] の順にポイントして、[SDK コマンド プロンプト] をクリックします。
コマンド プロンプトでディレクトリ変更 (CD) コマンドを使用して、コマンド プロンプト ウィンドウの現在のフォルダを Samples フォルダに変更します。
メモ : サンプルが配置されているフォルダを調べるには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005]、[マニュアルとチュートリアル] の順にポイントして、[サンプル ディレクトリ] をクリックします。既定のインストール場所を使用している場合、サンプルは <system_drive>:\Program Files\Microsoft SQL Server\90\Samples にあります。 コマンド プロンプトで、次のコマンドを実行してキー ファイルを生成します。
sn -k SampleKey.snk
sn -k UnsafeSampleKey.snk
重要 : 厳密な名前のキー ペアの詳細については、MSDN の .NET Development Center にある「Security Briefs: Strong Names and Security in the .NET Framework」を参照してください。
サンプルをビルドするには、次の手順を行います。
サンプルのビルド
Visual Studio 2005 および提供されている Visual Studio ソリューションを使用するか、.NET Framework SDK 2.0 に含まれている Microsoft MSBuild を使用して、サンプルをコンパイルします。コマンド プロンプトで、次のようなコマンドを実行します。
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\AdventureWorksCS.sln
AdventureWorks データベースがインストールされていることを確認します。
既定の場所に 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 2005 または SQL Server 2005 Express Edition の CLR を有効にする必要があります。
サンプルは、演習目的で利用するためにのみ提供されています。サンプルを運用環境で使用することは想定されていないため、運用環境でのサンプルのテストは行われていません。Microsoft では、これらのサンプルに関する製品サポート サービスを提供していません。システム管理者の承認を得ることなく、サンプル アプリケーションやサンプル アセンブリを、運用中の SQL Server データベースやレポート サーバーに接続したり、これらのデータと共に使用することは避けてください。
参照
処理手順
概念
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2005 年 12 月 5 日 |
|