CLR データベース オブジェクトからのデータ アクセス

CLR (共通言語ランタイム) ルーチンは、リモート インスタンスに格納されているデータだけでなく、そのルーチンが実行される Microsoft SQL Server のインスタンスに格納されているデータにも簡単にアクセスできます。ルーチンからどのデータにアクセスできるかは、コードが実行されているユーザー コンテキストによって決まります。CLR データベース オブジェクト内からデータにアクセスするには、SqlClient とも呼ばれる .NET Framework Data Provider for SQL Server を使用します。これは、開発者がマネージ クライアント アプリケーションや中間層アプリケーションから SQL Server データにアクセスする際に使用するプロバイダと同じです。このため、クライアント アプリケーションや中間層アプリケーションでは、ADO.NET と SqlClient の知識を活用できます。

ms131109.note(ja-jp,SQL.90).gifメモ :
ユーザー定義型メソッドとユーザー定義関数では、既定ではデータ アクセスの実行が許可されていません。UDT (ユーザー定義型) メソッドやユーザー定義関数からの読み取り専用データ アクセスを可能にするには、SqlMethodAttribute または SqlFunctionAttributeDataAccess プロパティを DataAccessKind.Read に設定する必要があります。UDT またはユーザー定義関数によるデータ変更操作は許可されません。この操作を実行しようとすると、実行時に例外がスローされます。

ここでは、CLR データベース オブジェクト内からデータにアクセスする際の機能や動作の具体的な違いについて説明します。ADO.NET の機能の詳細については、.NET Framework SDK に付属の ADO.NET のドキュメントを参照してください。

このセクションのトピックでは、次の内容について説明します。

トピック 説明

コンテキスト接続

SQL Server へのコンテキスト接続について説明します。

接続の権限借用と資格情報

接続の権限借用および接続の資格情報について説明します。

ADO.NET に対する SQL Server インプロセス固有の拡張機能

プロセス内の固有の SqlPipeSqlContextSqlTriggerContext、および SqlDataRecord の各オブジェクトについて説明します。

CLR 統合とトランザクション

System.Transactions 名前空間で提供される新しいトランザクション フレームワークを ADO.NET および SQL Server CLR 統合と統合する方法について説明します。

CLR データベース オブジェクトからの XML シリアル化

SQL Server 内部で CLR データベース オブジェクトの XML シリアル化のシナリオを有効にする方法について説明します。