所有存储过程都必须与公共语言运行时 (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 实例下面的“程序集”文件夹中。服务器程序集可以同时包含 .NET (CLR) 程序集和 COM 库。
创建服务器程序集
- 在对象资源管理器中展开 Analysis Services 实例,右键单击**“程序集”文件夹,再单击“新建程序集”。这将显示“注册服务器程序集”**对话框。
- 对于**“类型”**,请指定程序集的类型:
- 对于托管代码 (CLR) DLL,请指定 .NET 程序集。
- 对于本机代码 (COM) DLL,请指定 COM DLL。
- 对于**“文件名”**,请指定包含存储过程的 DLL。
- 对于**“程序集名称”**,请指定程序集的名称。
- 如果这是将要用来调试存储过程的库的调试版本,请选中**“包含调试信息”**复选框。有关调试存储过程的详细信息,请参阅调试存储过程 (Analysis Services)。
- 单击**“确定”可以立即注册程序集,或在对话框工具栏上单击“脚本”**菜单中的命令,以便使注册操作脚本化到查询窗口、文件或剪贴板中。
注册服务器程序集之后,可以在对象资源管理器中右键单击程序集,再单击**“属性”**来配置该程序集。
在服务器上注册数据库程序集
在 SQL Server Management Studio 的对象资源管理器中,数据库程序集将列在 Analysis Services 数据库下面的“程序集”文件夹中。数据库程序集可以同时包含 .NET (CLR) 程序集和 COM 库。
在服务器上创建数据库程序集
- 在对象资源管理器中,展开 Analysis Services 数据库实例,右键单击**“程序集”文件夹,再单击“新建程序集”。这将显示“注册数据库程序集”**对话框。
- 对于**“类型”**,请指定程序集的类型:
- 对于托管代码 (CLR) DLL,请指定 .NET 程序集。
- 对于本机代码 (COM) DLL,请指定 COM DLL。
- 对于**“文件名”**,请指定包含存储过程的 DLL。
- 对于**“程序集名称”**,请指定程序集的名称。
- 如果这是将要用来调试存储过程的库的调试版本,请选中**“包含调试信息”**复选框。有关调试存储过程的详细信息,请参阅调试存储过程 (Analysis Services)。
- 单击**“确定”可以立即注册程序集,或在对话框工具栏上单击“脚本”**菜单中的命令,以便使注册操作脚本化到查询窗口、文件或剪贴板中。
注册数据库程序集之后,可以在对象资源管理器中右键单击程序集,再单击**“属性”**来配置该程序集。
在项目中注册数据库程序集
在 Business Intelligence Development Studio 的解决方案资源管理器中,数据库程序集列在 Analysis Services 项目下面的“程序集”文件夹中。数据库程序集可以同时包含 .NET (CLR) 程序集和 COM 库。
在 Analysis Service 项目中创建数据库程序集
- 在对象资源管理器中展开 Analysis Services 数据库实例,右键单击**“程序集”文件夹,再单击“新建程序集引用”。这将显示“添加引用”对话框。“添加引用”对话框的 .NET 选项卡将列出现有的 .NET (CLR) 程序集,而“项目”**选项卡会列出项目。
- 可以单击现有组件或项目,再单击**“添加”,以便将其添加到 Analysis Services 项目。若要添加对 COM DLL 的引用,请单击“浏览”选项卡以查找文件。“选定的项目和组件”**列表将显示要添加到项目中的每个组件的名称、类型、版本和位置。
- 选择完要添加的组件后,单击**“确定”**将它们添加到 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)