clr理解とsql server 2005のデータベースエンジン

Dutch French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic Bookmark and Share this Article Original English article
  

clr統合の拡張機能は、 sql server sqlサーバーで、いくつかの重要な方法があります。 中のt - sqlでは、既存のデータへのアクセスと操作言語では十分に適した指向のデータアクセス操作を設定、それにも制限があります。 10年以上も前に設計さに、 t - sqlは、手続き型言語ではなく、オブジェクト指向の言語である。 統合のclrは、 sql server 2005をもたらすことで、データベースオブジェクトを作成する能力を使って現代のようなオブジェクト指向言語とc vb.net # 。 これらの言語ではありませんが、同じ志向の強い設定のt -自然のsqlとして、彼らは複雑なロジックをサポートし、より良い計算機能、外部リソースのアクセスを提供し、コードの再利用を促進する、ファーストクラスをお持ちで、多くの開発環境を提供するより多くの電力が古いクエリアナライザです。

統合しています。純clrは、 sql server 2005を有効にストアドプロシージャの開発には、ユーザー定義関数、トリガ、集約して、ユーザー定義の種類のいずれかを使用しています。 net言語です。 統合しています。純clrは、 sql server 2005は単なる皮膚の深い。 実際、 sql server 2005のデータベースエンジンのホストclrインプロセスします。 apiのセットを使用すると、 sqlサーバーエンジンを実行し、すべてのホストclrメモリ管理のためのプログラムです。

マネージコードを使用して、データベースへのアクセスado.net併用して、新しいsqlサーバーます。純データプロバイダです。 sqlサーバーの新しいオブジェクトは、 アセンブリと呼ばれる単位を導入します。 netオブジェクトをデータベースにします。 clrデータベースオブジェクトを作成し、最初に作成する必要がありdllを使ってビジュアルスタジオ2005です。 dllをインポートすることが次にsqlサーバーとして組立をします。 最後に、リンクを記載したアセンブリをデータベースオブジェクトのようなストアドプロシージャまたはトリガーします。 得ることができますが、次のセクションで、より詳細を見てどのように実際に使用してclr新しい機能が見つかりましたsql server 2005にします。

建築clr

しています。 net frameworkをclrは非常にしっかりと統合してsql server 2005のデータベースエンジンです。 実際のところ、 sqlサーバーのデータベースエンジンのホストclrます。 このタイトなレベルでの統合を与えsql server 2005のいくつかの明確な利点がある。ネットの統合して提供されるdb2およびオラクルます。

sql serverデータベースを使用する特別なapiあるいはホスティング層とコミュニケーションをして、 clr clrおよびインタフェースで、ウィンドウズオペレーティングシステム。 clr内でのホスティングを与えsql serverデータベースsqlサーバーのデータベースエンジンをコントロールする能力は、いくつかの重要な側面clrなど、

メモリ管理

スレッド

ガーベッジコレクション

実装してdb2およびオラクルの両方を使用してclrとして外部の過程で、これはとclrとデータベースエンジンの両方を競うシステムリソースます。 sql server 2005ののインプロセスホスティングclrのいくつかの重要な利点を提供する外部の実装で使用されるオラクルまたはdb2です。 第一に、インプロセスsqlサーバーホスティングを有効にしてclrの実行を制御し、必要不可欠なパットのような関数メモリ管理、ごみ収集、およびスレッドの管理下に置かsql serverデータベースエンジンです。 clr実装して、外部にはこのようなものを独自に管理します。 データベースエンジンには、もっとよく見ると、全体としてのシステム要件のメモリとスレッドを管理することができ、より良いclrできることを放棄します。 最後に、ホスティングclrインプロセスのより良いパフォーマンスとスケーラビリティを提供します。

サポートを有効にclr

デフォルトでは、サポートがclr sql serverデータベースエンジンがオフになっています。 これにより、更新プログラムのインストールのsql serverせずに、新しい機能を導入していない無意識にして、管理者の明示的な関与をします。 clr sqlサーバーのサポートを有効にする必要があり、高度なオプションを使用するsql serverのストアドプロシージャのsp_configureシステムに示すように、次のリスト:

  sp_configure表示]詳細オプション]は、 1に行くを再行くsp_configure ' clr有効になって' 、 1に行くに行くの再設定 

データベースオブジェクトのコンポーネントclr

を作成します。純データベース、オブジェクトの書き込みを開始されるのいずれかのコードを管理します。 net言語など、 vb 、 c #で、または管理c + + 、およびをコンパイルしています。ネットのdll (ダイナミックリンクライブラリ)です。 これを行うには、最も共通の方法を使用するだろうビジュアルスタジオ2005を新規に作成するプロジェクトsqlサーバーを構築して、それからプロジェクトで、これのdllを作成します。 また、作成しています。純エディタを使用してコードを選択し、次にそのコードをコンパイルします。純dllを使用しています。 net framework sdkをします。 ado.netは、ミドルウェアを接続してsql serverデータベースclr dllをします。 いったんだ。ネットのdllを作成しました、とのdllを登録する必要がありsqlサーバーを作成するには、新しいデータベースオブジェクトのsqlサーバーと呼ばれるアセンブリします。 基本的にアセンブリをカプセル化します。 dllの純ます。 次に、新しいデータベースオブジェクトを作成するなどのストアドプロシージャまたはトリガーポイントをしてsqlサーバーアセンブリします。

sqlサーバーます。純データプロバイダ

ado.net精通している場合は、どのような方法で不思議かもしれclrデータベースオブジェクトをデータベースに接続しています。 結局のところ、そのデータベースへの接続をado.netベースのクライアントを使用します。純データプロバイダのようです。 net frameworkをデータプロバイダは、 sqlサーバーであり、これを使用して接続ネットワーク上のライブラリにします。 それはすごい方のためのクライアントアプリケーションのように、ネットワークを経由して、システムのデータベースをサポートするための、最も効率的な電話ではありませんモードでのコードを実行して、サーバー上に直接します。 この問題に取り組むため、マイクロソフトの新しいsqlサーバーを作成します。純データプロバイダです。 sqlサーバーます。データプロバイダ網を確立して、メモリsql serverデータベースに接続しています。

アセンブリ

コーディングの後には、 clrオブジェクトが完了すると、そのコードを使用することができsqlサーバーアセンブリを作成することです。 使用している場合視覚的なスタジオ、 2005年次に配置することができ、オプションを選択するだけで、これは、両方の世話を作成sqlサーバーアセンブリと同様、ターゲットデータベースオブジェクトを作成します。 を使用していない場合はビジュアルスタジオ2005またはしたい導入プロセスを実行して手動で、その後にコピーする必要があります。純dllを共通のものにするストレージの場所を選択します。 次に、 sqlサーバー管理スタジオを使って、実行することができのt -のsql文を作成してアセンブリの場所を参照しています。 dllの純は、することができ、次のリストを参照してください:

 作成組立myclrdllから' \ \ servernameを\ codelibrary \ myclrdll.dll 'コードを使用したデータベースオブジェクトをマネージコードとcomplieをdllを使用してサーバに登録したdllをゾル 

アセンブリを作成するには、コマンドのパラメータが含まれたdllのパスを指定されるsqlサーバーにロードされました。 このことができ、ローカルのパスが、それをより頻繁になるだろう、ネットワーク上のファイル共有パスをします。 アセンブリを作成するときには、実行されると、 dllは、マスターデータベースにコピーされます。 アセンブリ場合は、更新、または推奨されませんが、そのアセンブリを削除することができ以下のとおりコマンドを使用してアセンブリをドロップ:

 ドロップ組立myclrdll 

アセンブリのためのデータベースに保存され、ときには、アセンブリのソースコードを修正して再構築すると、アセンブリは、アセンブリ下落しなければならないから、データベースを使用して、それからリローデッドドロップアセンブリコマンドを使用してアセンブリを作成するコマンドの前に更新されるsql serverデータベースオブジェクトに反映されます。

使用することができsys.assembliesビューを表示するにしてアセンブリを追加しましたsql server 2005のように表示さページ:

  *を選択してからsys.assemblies 

外部ファイルを使ってアセンブリを作成して以来、こともお勧めしファイルを表示しますこれらの作成に使用したアセンブリします。 そんなことして、 sysを使用することができます。 assembly_filesビューとして表示されます:

  *を選択してからsys.assembly_files 

データベースオブジェクトを作成するclr

sqlサーバーアセンブリを作成した後、管理することができsqlサーバーを使用しスタジオのt -のsqlを実行する手順を作成し、トリガーを作成し、作成する機能を作成し、型、または集計を作成する声明条項を使用して外部名を指すようにしてアセンブリ以前に作成します。

アセンブリを作成したときは、 dllがコピーされ、ターゲットと国会sql serverデータベースが登録されます。 を示し、次のコードを作成するmyclrprocストアドプロシージャを使用してmyclrdllアセンブリ:

 作成手順myclrprocとして外部名myclrdll.storedprocedures.myclrproc 

外部の名前は、新たな条項をsql server 2005のだ。 ここで、外部条項の名前を指定します。ストアドプロシージャmyclrprocされるのを使用して作成します。 sqlサーバーアセンブリします。 それは、 dllのカプセル化は、 sql serverアセンブリを含めることができ、複数のクラスとメソッド;声明は、外部の名前を使用して次のような構文を識別し、適切なクラスとメソッドを使用するからアセンブリ:

 組立name.classname.methodname 

の場合は、上記の例では、アセンブリの登録の名前がmyclrdllます。 クラス内のアセンブリはstoredproceduresており、クラスのメソッド内で実行されることはmyclrprocます。

これは、記事を追加したモード問いビンセント
免責事項:弊社のウェブサイト上に含まれる情報は、責任を負いませんこの記事されました。 この記事ではない方法での意見を反映して、ご意見、思想や信条の記事ディレクトリのスタッフします。

翻訳注意:この記事の理解" clrおよびsql server 2005データベースエンジン"だった翻訳する自動翻訳サービスを使っています。 すべてのお客様にご迷惑を翻訳してエラーが発生しました。 理解していただきありがとうございました。


Online: 1696 users browsing the articles directory