ラージ オブジェクト (LOB) 処理

更新 : 2005 年 12 月 5 日

SQL Server 2005 の HandlingLOBUsingCLR サンプルでは、共通言語ランタイム (CLR) ストアド プロシージャを使用することによって、SQL Server と、サーバーが使用可能なファイル システム間でのラージ オブジェクト (LOB) の転送を示します。このサンプルでは、サーバー側コード内のファイルへのアクセス方法を示し、CLR ベースのストアド プロシージャから動的クエリとストアド プロシージャの両方を呼び出します。また、Transact-SQL を使用した、CLR メソッドとアセンブリの登録解除と登録を行う方法も示します。

既定のインストール ディレクトリは、drive:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HandlingLOBUsingCLR です。

シナリオ

開発者は、SQL Server とサーバーのファイル システムの間でイメージのコピーを行う必要があります。

言語

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

機能

HandlingLOBUsingCLR サンプルは、SQL Server の次の機能を使用します。

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

全体

CLR ストアド プロシージャ、CLR ストアド プロシージャから Transact-SQL ストアド プロシージャの呼び出し、VARBINARY(MAX) データ型

前提条件

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

  • 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 のインストール」を参照してください。

サンプルのビルド

まだ厳密な名前のキー ファイル ExternalSampleKey.snk を作成していない場合は、次の手順に従ってキー ファイルを生成します。

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

  1. Microsoft Visual Studio 2005 コマンド プロンプトを開きます。[スタート] ボタンをクリックし、[すべてのプログラム][Microsoft Visual Studio 2005][Visual Studio Tools] の順にポイントして、[Visual Studio 2005 コマンド プロンプト] をクリックします。

    または

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

  2. コマンド プロンプトでディレクトリ変更 (CD) コマンドを使用して、コマンド プロンプト ウィンドウの現在のフォルダを Samples フォルダに変更します。

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

    sn -k ExternalSampleKey.snk

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

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

サンプルのビルド

  1. Visual Studio 2005 および提供されている Visual Studio ソリューションを使用するか、.NET Framework SDK 2.0 に含まれている Microsoft MSBuild を使用して、サンプルをコンパイルします。コマンド プロンプトで、次のようなコマンドを実行します。

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

  2. AdventureWorks データベースがインストールされていることを確認します。

  3. 既定の場所に SQL Server データベース エンジン サンプルをインストールしなかった場合は、サンプルのインストール先が参照されるように、Scripts\InstallCS.sql スクリプトおよび Scripts\InstallVB.sql スクリプトの CREATE ASSEMBLY 部のパスを変更します。

  4. 使用している SQL Server インスタンスの管理者でない場合、インストールを完了するためには、CreateAssembly 権限が管理者から許可されている必要があります。

  5. Visual C# プロジェクトと Visual Basic プロジェクトのどちらをコンパイルしたかに応じて、SQL Server Management Studio でファイル scripts\installCS.sql または scripts\installVB.sql を開きます。ファイルに含まれているスクリプトを実行するか、コマンド プロンプトで次のようなコマンドを実行します。

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

    このスクリプトは、次のように動作します。

サンプルの実行

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

サンプルの実行

  1. データベースからのイメージを読み取るには、次のようなスクリプトを呼び出します。

    exec GetPhotoFromDB 70, 'C:\Temp\', 'test6.gif'

    go

    指定したディレクトリが存在することを確認します。

  2. データベースにイメージを書き込むには、次のようなスクリプトを呼び出します。

    exec PutPhotoIntoDB 70, 'C:\Temp\', 'test1.gif'

    go

    エラーは、指定したディレクトリの error.log ファイルにレポートされます。この手順にあるようなスクリプトについては、Scripts\test.sql ファイルを参照してください。

サンプルの削除

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

サンプルの削除

  1. Management Studio で scripts\cleanup.sql ファイルを開き、ファイルに含まれているスクリプトを実行します。または、コマンド プロンプトで次のコマンドを実行します。

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

コメント

このサンプルを正しく機能させるためには、SQL Server 2005 または SQL Server 2005 Express Edition の CLR を有効にする必要があります。

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

参照

処理手順

ADO.NET を使用したラージ オブジェクト (LOB) 処理

概念

CLR プログラミング サンプル

その他の技術情報

データベース エンジンの .NET Framework プログラミング

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2005 年 12 月 5 日

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