【问题标题】:The requested operation could not be performed because OLE DB provider 'MSOLAP' for Linked server 'SSAS' does not support the required interface无法执行请求的操作,因为链接服务器“SSAS”的 OLE DB 提供程序“MSOLAP”不支持所需的接口
【发布时间】:2018-06-13 13:51:33
【问题描述】:

当我尝试使用链接服务器更新多维数据集时出现此错误:

消息 7390,级别 16,状态 2,行 20 请求的操作无法 因为链接服务器“SSAS”的 OLE DB 提供程序“MSOLAP”而被执行 不支持所需的事务接口。

我的查询:

DECLARE @command VARCHAR(max) = 'UPDATE CUBE [TESTING] SET (
       [Measures].[Group Curr Amt Original],[Local Currency].[Local Currency].&[USD],[Time].[Fis Yr Month SKey].&[201806], [Transaction Currency].CurrencyName].&[US Dollar],  )=1234 USE_EQUAL_ALLOCATION;'

EXEC (@command) at SSAS

DECLARE @command2 VARCHAR(max) = 'commit tran'

EXEC (@command2) at SSAS

如果我不提交事务,则更新有效。有什么办法可以处理吗?

【问题讨论】:

  • 请将错误信息作为文本,而不是图像

标签: sql-server ssas cube olap-cube


【解决方案1】:

我使用@GregGalloway 的回答评论解决了这个问题。以下是为链接服务器启用此功能的简单方法:

EXEC master.dbo.sp_serveroption @server = N'SSAS'
    ,@optname = N'rpc'
    ,@optvalue = N'true'

EXEC master.dbo.sp_serveroption @server = N'SSAS'
    ,@optname = N'rpc out'
    ,@optvalue = N'true'

EXEC master.dbo.sp_serveroption @server = N'SSAS'
    ,@optname = N'remote proc transaction promotion'
    ,@optvalue = N'false'

【讨论】:

    【解决方案2】:

    请使用here 提到的选项删除并重新创建链接服务器。

    确保 RPC 和 RPC Out 设置为 True

    确保 Enable Promotion of Distributed Transactions 为 False

    【讨论】:

    • 格雷格,它已经设置为真。任何其他建议都会非常有帮助。
    • @user9833902 将“启用分布式事务推广”设置为 false 怎么样?
    猜你喜欢
    • 2014-07-23
    • 2011-09-18
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多