我有一个动态存储过程,它为OpenRowset查询创建一个mdx语句。因此,mdx语句中的对象可能是空的。在这种情况下,我想要一个空字符串
SQL Server给我这个错误: “ OLE DB提供程序”“用于链接服务器”(null)“表示该对象没有列,或者当前用户没有该对象的权限。”
我尝试了不同的东西(Catch Statement,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
答案 0 :(得分: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