ssas2008 自定义程序集 函数不存在

hovlj_1130 2010-03-22 03:56:18
ssas2008中,添加自定义程序集BIDataSecurity.dll后,MDX查询:select BIDataSecurity.DataSecurity.GetDimensionSet("baidu", "time") on 0 from [SSASDB]
提示“
正在执行查询...
Query (1, 8) The '[BIDataSecurity].[DataSecurity].[GetDimensionSet]' function does not exist.

执行完毕


我在VS2005中,调用我自己写好的BIDataSecurity.dll后,调试没问题,BIDataSecurity.DataSecurity.GetDimensionSet("baidu", "time")有返回结果。

请问下,为什么我的SSAS2008无法使用自定义程序?
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hovlj_1130 2010-03-22
  • 打赏
  • 举报
回复
找到原因了。。。

在调用的函数名错误,然后mdx查询写的也有问题。

正确应为

WITH MEMBER [Measures].x
AS
BIDataSecurity.GetDimensionSet("baidu", "time")
--这里引用的语法是:namespace.methodName, 不需要写classname
SELECT [Measures].x ON 0
FROM [SSASDB]

这里引用的语法是:namespace.methodName, 不需要写classname
这里引用的语法是:namespace.methodName, 不需要写classname
这里引用的语法是:namespace.methodName, 不需要写classname
这里引用的语法是:namespace.methodName, 不需要写classname

所以应该写BIDataSecurity.GetDimensionSet("baidu", "time") ,而不是BIDataSecurity.DataSecurity.GetDimensionSet("baidu", "time")

郁闷。。。

事实证明这世上没有无缘无故的恨,页没有无缘无故的爱。
如果你错了,那肯定是什么地方错了。
hovlj_1130 2010-03-22
  • 打赏
  • 举报
回复
我在网上找了好久,就发现了一个sql server 2005下的一个案例,是需要安装一个补丁。

传送门在这里:http://support.microsoft.com/kb/969123/EN-US
“FIX: Error message occurs unexpectedly at different times in a SQL Server 2005 Analysis Services database that uses user-defined functions: "The <Function Name> function does not exist"”

但是,该补丁我下载后,在sql server2008上无法安装,我怀疑也是补丁的缘故,目前正在下载Cumulative update package 9 for SQL Server 2008,安装后结果怎么样再告诉大家。
Mr_Nice 2010-03-22
  • 打赏
  • 举报
回复
不懂,帮顶,蹭分...
dawugui 2010-03-22
  • 打赏
  • 举报
回复
看不懂,帮顶.
--小F-- 2010-03-22
  • 打赏
  • 举报
回复

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧