2017-01-03 2 views
0

У меня есть динамически хранимая процедура, которая создает инструкцию mdx для запроса OpenRowset. Таким образом, может случиться так, что объекты из инструкции mdx пусты. В этом случае я хочу вернуть пустую строкуSQL OpenRowset - объект не имеет столбцов

SQL Server дает мне эту ошибку: «Поставщик OLE DB« для связанного сервера »(null)» указывает, что либо у объекта нет столбцов, либо у текущего пользователя не имеют прав на этот объект ».

Я пробовал разные вещи (Лови себе, 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 

ответ

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 
+0

Спасибо большое - это работает ... –

Смежные вопросы