创建存储过程
所有存储过程都必须与公共语言运行时 (CLR) 或组件对象模型 (COM) 类关联才能使用。该类必须安装在服务器上(通常以 Microsoft ActiveX® 动态链接库 (DLL) 的形式),并且在服务器或在 Analysis Services 数据库中注册为程序集。
存储过程将在服务器或数据库中注册。服务器存储过程可以从任何查询上下文进行调用。而只有当数据库上下文是定义存储过程时所针对的数据库时,才能访问数据库存储过程。如果一个程序集内的函数调用了另一个程序集内的函数,则必须在相同的上下文(服务器或数据库)中注册这两个程序集。对于服务器或服务器上的已部署 MicrosoftSQL ServerAnalysis Services 数据库,可以使用 SQL Server Management Studio 注册程序集。对于 Analysis Services 项目,可以使用 Analysis Services 设计器在项目中注册程序集。
安全说明 |
---|
COM 程序集可能会造成安全风险。由于此风险和其他注意事项,因此不推荐在 SQL Server 2008 Analysis Services (SSAS) 中使用 COM 程序集。未来版本可能不支持 COM 程序集。 |
注册服务器程序集
在 SQL Server Management Studio 的对象资源管理器中,服务器程序集列在 Analysis Services 实例下面的“程序集”文件夹中。服务器程序集可以同时包含 .NET (CLR) 程序集和 COM 库。
创建服务器程序集
在对象资源管理器中展开 Analysis Services 实例,右键单击**“程序集”文件夹,再单击“新建程序集”。这将显示“注册服务器程序集”**对话框。
对于**“类型”**,请指定程序集的类型:
对于托管代码 (CLR) DLL,请指定 .NET 程序集。
对于本机代码 (COM) DLL,请指定 COM DLL。
对于**“文件名”**,请指定包含存储过程的 DLL。
对于**“程序集名称”**,请指定程序集的名称。
如果这是将要用来调试存储过程的库的调试版本,请选中**“包含调试信息”**复选框。有关调试存储过程的详细信息,请参阅调试存储过程。
单击**“确定”可以立即注册程序集,或在对话框工具栏上单击“脚本”**菜单中的命令,以便使注册操作脚本化到查询窗口、文件或剪贴板中。
注册服务器程序集之后,可以在对象资源管理器中右键单击程序集,再单击**“属性”**来配置该程序集。
在服务器上注册数据库程序集
在 SQL Server Management Studio 的对象资源管理器中,数据库程序集将列在 Analysis Services 数据库下面的“程序集”文件夹中。数据库程序集可以同时包含 .NET (CLR) 程序集和 COM 库。
在服务器上创建数据库程序集
在对象资源管理器中,展开 Analysis Services 数据库实例,右键单击**“程序集”文件夹,再单击“新建程序集”。这将显示“注册数据库程序集”**对话框。
对于**“类型”**,请指定程序集的类型:
对于托管代码 (CLR) DLL,请指定 .NET 程序集。
对于本机代码 (COM) DLL,请指定 COM DLL。
对于**“文件名”**,请指定包含存储过程的 DLL。
对于**“程序集名称”**,请指定程序集的名称。
如果这是将要用来调试存储过程的库的调试版本,请选中**“包含调试信息”**复选框。有关调试存储过程的详细信息,请参阅调试存储过程。
单击**“确定”可以立即注册程序集,或在对话框工具栏上单击“脚本”**菜单中的命令,以便使注册操作脚本化到查询窗口、文件或剪贴板中。
注册数据库程序集之后,可以在对象资源管理器中右键单击程序集,再单击**“属性”**来配置该程序集。
在项目中注册数据库程序集
在 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>