【问题标题】:SQL OpenRowset - object has no columnsSQL OpenRowset - 对象没有列
【发布时间】:2017-01-03 18:07:59
【问题描述】:

我有一个动态存储过程,它为 OpenRowset 查询创建一个 mdx 语句。因此,mdx 语句中的对象可能为空。在这种情况下,我想要一个空字符串

SQL Server 给了我这个错误: "链接服务器 "(null)" 的 OLE DB 提供程序 "" 表示该对象没有列或当前用户没有该对象的权限。"

我尝试了不同的方法(Catch 语句、sp_describe_first_result_set)但没有任何效果...

我该如何处理这个错误?在我下面的声明中,即。客户“阿巴斯”不可用...

SELECT A.* FROM OpenRowset('MSOLAP', 'DATASOURCE=.; Initial Catalog=CUBE','

SELECT      
    {[Dim Customer].[v Dim Customer Name].[Customer].&[Abbas]} *
    {[Dim Salesperson].[Lastname].&[Fima 1]} *
    {[Dim Creditcard].[v Dim Creditcard Cardtype].[Cardtype].&[Vista]} ON 0


FROM CUBE

WHERE [Measures].[total]

') as A

【问题讨论】:

    标签: sql sql-server mdx linked-server


    【解决方案1】:

    请尝试对列进行度量,对行进行维度:

    SELECT A.* FROM OpenRowset('MSOLAP', 'DATASOURCE=.; Initial Catalog=CUBE','
    
    SELECT      {[Measures].[total]} ON 0,
        {[Dim Customer].[v Dim Customer Name].[Customer].&[Abbas]} *
        {[Dim Salesperson].[Lastname].&[Fima 1]} *
        {[Dim Creditcard].[v Dim Creditcard Cardtype].[Cardtype].&[Vista]} ON 1
    FROM CUBE
    
    ') as A
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2019-11-04
      • 2019-11-07
      • 1970-01-01
      相关资源
      最近更新 更多