ストアド プロシージャの作成 (Analysis Services)
ストアド プロシージャを使用するには、これを共通言語ランタイム (CLR) クラスまたはコンポーネント オブジェクト モデル (COM) クラスに関連付ける必要があります。クラスはサーバーにインストールし (通常は Microsoft ActiveX® ダイナミック リンク ライブラリ (DLL) の形式)、サーバーまたは Analysis Services のデータベースにアセンブリとして登録する必要があります。
ストアド プロシージャはサーバーまたはデータベースに登録されています。サーバーのストアド プロシージャは、どのクエリ コンテキストからでも呼び出すことができます。データベースのストアド プロシージャは、データベース コンテキストが、ストアド プロシージャが定義されているデータベースの場合にのみアクセスできます。サーバー、またはサーバーに配置されている Microsoft SQL Server 2005 Analysis Services (SSAS) データベースの場合は、SQL Server Management Studio を使用してアセンブリを登録できます。Analysis Services プロジェクトの場合は、Analysis Services デザイナを使用してプロジェクトにアセンブリを登録できます。
重要 : |
---|
あるアセンブリの関数が別のアセンブリの関数を呼び出す場合は、両方のアセンブリを同じコンテキスト (サーバーまたはデータベース) に登録する必要があります。 |
サーバー アセンブリの登録
SQL Server Management Studio のオブジェクト エクスプローラで、サーバー アセンブリは Analysis Services のインスタンスの Assemblies フォルダに一覧表示されます。サーバー アセンブリには .NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
サーバー アセンブリを作成するには
- オブジェクト エクスプローラで Analysis Services のインスタンスを展開し、[アセンブリ] フォルダを右クリックして [新しいアセンブリ] をクリックします。[サーバー アセンブリの登録] ダイアログ ボックスが表示されます。
- [種類] でアセンブリの種類を指定します。
- マネージ コード (CLR) DLL の場合は、.NET アセンブリを指定します。
- ネイティブ コード (COM) DLL の場合は、COM DLL を指定します。
- [ファイル名] の場合は、ストアド プロシージャを含んでいる DLL を指定します。
- [アセンブリ名] の場合は、アセンブリの名前を指定します。
- これがストアド プロシージャのデバッグに使用するライブラリのデバッグ ビルドの場合は、[デバッグ情報を含める] チェック ボックスをオンにします。ストアド プロシージャのデバッグの詳細については、「デバッグ系のストアド プロシージャ (Analysis Services)」を参照してください。
- [OK] をクリックして直ちにアセンブリを登録するか、ダイアログ ボックスのツール バーで [スクリプト] メニューのコマンドをクリックして、登録操作をクエリ ウィンドウ、ファイル、またはクリップボードに記述します。
サーバー アセンブリを登録した後、オブジェクト エクスプローラでアセンブリを右クリックし、[プロパティ] をクリックします。
サーバーへのデータベース アセンブリの登録
SQL Server Management Studio のオブジェクト エクスプローラで、データベース アセンブリは Analysis Services データベースの Assemblies フォルダに一覧表示されます。データベース アセンブリには .NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
サーバーでデータベース アセンブリを作成するには
- オブジェクト エクスプローラで Analysis Services データベースのインスタンスを展開し、[Assemblies] フォルダを右クリックして [新しいアセンブリ] をクリックします。[データベース アセンブリの登録] ダイアログ ボックスが表示されます。
- [種類] でアセンブリの種類を指定します。
- マネージ コード (CLR) DLL の場合は、.NET アセンブリを指定します。
- ネイティブ コード (COM) DLL の場合は、COM DLL を指定します。
- [ファイル名] の場合は、ストアド プロシージャを含んでいる DLL を指定します。
- [アセンブリ名] の場合は、アセンブリの名前を指定します。
- これがストアド プロシージャのデバッグに使用するライブラリのデバッグ ビルドの場合は、[デバッグ情報を含める] チェック ボックスをオンにします。ストアド プロシージャのデバッグの詳細については、「デバッグ系のストアド プロシージャ (Analysis Services)」を参照してください。
- [OK] をクリックして直ちにアセンブリを登録するか、ダイアログ ボックスのツール バーで [スクリプト] メニューのコマンドをクリックして、登録操作をクエリ ウィンドウ、ファイル、またはクリップボードに記述します。
データベース アセンブリを登録した後、オブジェクト エクスプローラでアセンブリを右クリックし、[プロパティ] をクリックします。
プロジェクトへのデータベース アセンブリの登録
Business Intelligence Development Studio のソリューション エクスプローラで、データベース アセンブリは Analysis Services プロジェクトの Assemblies フォルダに一覧表示されます。データベース アセンブリには .NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
Analysis Services プロジェクトにデータベース アセンブリを作成するには
- オブジェクト エクスプローラで Analysis Services データベースのインスタンスを展開し、[アセンブリ] フォルダを右クリックして [新しいアセンブリ参照] をクリックします。[参照の追加] ダイアログ ボックスが表示されます。[参照の追加] ダイアログ ボックスの [.NET] タブには既存の .NET (CLR) アセンブリが一覧表示され、[プロジェクト] タブにはプロジェクトが一覧表示されます。
- 既存のコンポーネントまたはプロジェクトをクリックし、[追加] をクリックしてそれを Analysis Services プロジェクトに追加できます。参照を COM DLL に追加するには、[参照] タブをクリックしてファイルを見つけます。[選択されたプロジェクトとコンポーネント] 一覧に、プロジェクトに追加する各コンポーネントの名前、種類、バージョン、および場所が表示されます。
- 追加するコンポーネントを選択したら、[OK] をクリックして Analysis Services プロジェクトに追加します。
アセンブリのスクリプト形式
.NET アセンブリの登録は簡単です。.NET アセンブリは次の形式を使用してバイナリ形式でデータベースに追加されます。
<Create>
<ObjectDefinition>
<Assembly>
<Files>
<File>
<Name>filename</Name>
<Type>filetype</Type>
<Data>
<Block>binarydatablock</Block>
<Block>binarydatablock</Block>
...
</Data>
</File>
</Files>
<PermissionSet>PermissionSet</PermissionSet>
</Assembly>
<ObjectDefinition>
</Create>
参照
概念
アセンブリ (Analysis Services)
ストアド プロシージャを使用した作業 (Analysis Services)