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

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

注意

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

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

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