共通言語ランタイム (CLR) ルーチンは、実行される SQL Server のインスタンスに格納されているデータや、リモート インスタンスに格納されているデータに簡単にアクセスできます。 ルーチンがアクセスできる特定のデータは、コードが実行されているユーザー コンテキストによって決まります。 マネージド クライアントおよび中間層アプリケーションの .NET Framework Data Provider for SQL Server データを使用して、CLR データベース オブジェクト内からデータにアクセスします。 このため、クライアントアプリケーションと中間層アプリケーションの ADO.NET と SqlClient
に関する知識を活用できます。
注
ユーザー定義型メソッドとユーザー定義関数は、既定ではデータ アクセスを実行できません。 ユーザー定義型 (UDT) メソッドまたはユーザー定義関数からの読み取り専用データ アクセスを有効にするには、DataAccess
または SqlMethodAttribute
の SqlFunctionAttribute
プロパティを DataAccessKind.Read
に設定する必要があります。 UDT またはユーザー定義関数からのデータ変更操作は許可されず、実行時に例外がスローされます (試行された場合)。
ここでは、CLR データベース オブジェクト内からデータにアクセスする際の機能や動作の具体的な違いについて説明します。 ADO.NET の機能の詳細については、.NET Framework SDK に付属の ADO.NET のドキュメントを参照してください。
次の表に、このセクションのトピックを示します。
コンテキスト接続
SQL Server へのコンテキスト接続について説明します。
接続の偽装と資格情報
接続の権限借用および接続の資格情報について説明します。
SQL Server In-Process ADO.NET に対する特定の拡張機能
インプロセス固有の SqlPipe
、SqlContext
、SqlTriggerContext
、および SqlDataRecord
オブジェクトについて説明します。
CLR 統合とトランザクション
System.Transactions 名前空間で提供される新しいトランザクション フレームワークを、ADO.NET および SQL Server CLR 統合と統合する方法について説明します。
CLR データベース オブジェクトからの XML シリアル化
SQL Server 内の CLR データベース オブジェクトの XML シリアル化シナリオを有効にする方法について説明します。