OpenRowSet ICommandPrepare :: Prepare Ошибка - PullRequest
1 голос
/ 24 января 2011

У меня есть пакет DTS, выполняющий несколько шагов, которые в прошлом работали на 100% правильно. В последние недели происходит сбой на этапе, когда OpenRowSet используется для выполнения запроса MDX к кубу OLAP SQL 2000.

Я знаю, что проблема не связана с синтаксисом MDX, потому что раньше он работал правильно в этом пакете, и если я просто выполняю запрос MDX, он возвращает правильные результаты.

Сервер, на котором он работает, является клиентским сервером, поэтому я не могу быть на 100% уверен, что ничего на сервере не изменилось за последние несколько недель, но если что-то изменилось, мне не сообщили об этом.

Вот команда OpenRowSet с запросом MDX:

select * from 
OPENROWSET('MSOLAP',
'Data Source=localhost; Initial Catalog=XVStock;',
'WITH 
MEMBER [Measures].[year to date] AS  ''[Measures].[Sales Qty]''
MEMBER [Measures].[Total Revenue] AS  ''[Measures].[Sales Value]''
MEMBER [Measures].[Week to date Qty] AS  ''Sum(Wtd([Time].[Fiscal].CurrentMember),[Measures].[Sales Qty])''
MEMBER [Measures].[Week to date Revenue] AS  ''Sum(Wtd([Time].[Fiscal].CurrentMember),[Measures].[Sales Value])''
SELECT 
NON EMPTY {crossjoin(
{[time].[fiscal].currentmember,
ancestor([time].[fiscal].currentmember, fyear)},

{[Measures].[SOH],
[Measures].[SOH Value],
[Measures].[Week to date Qty],
[Measures].[Week to date Revenue],
[Measures].[year to date],
[Measures].[Total Revenue]})
} ON COLUMNS, 
NON EMPTY {crossjoin(
{[Supplier].[All Supplier].[ACTIVISION BLIZZARD UK LTD]
  ,[Supplier].[All Supplier].[BUENA VISTA]
  ,[Supplier].[All Supplier].[CAPCOM]
  ,[Supplier].[All Supplier].[CGS LTD]
  ,[Supplier].[All Supplier].[CODEMASTERS]
  ,[Supplier].[All Supplier].[ELECTRONIC ARTS]
  ,[Supplier].[All Supplier].[SCI]
  ,[Supplier].[All Supplier].[SQUARE ENIX LIMITED]
  ,[Supplier].[All Supplier].[EMPIRE GAMES]
  ,[Supplier].[All Supplier].[JOYTECH EUROPE]   
  ,[Supplier].[All Supplier].[KONAMI UK]
  ,[Supplier].[All Supplier].[MICROSOFT]
  ,[Supplier].[All Supplier].[MIDWAY GAMES]
  ,[Supplier].[All Supplier].[NINTENDO UK]
  ,[Supplier].[All Supplier].[SONY COMPUTER ENT]
  ,[Supplier].[All Supplier].[SEGA EUROPE]
  ,[Supplier].[All Supplier].[SHERLANE AGENCIES]
  ,[Supplier].[All Supplier].[SOLD OUT]
  ,[Supplier].[All Supplier].[TAKE 2 INTERACTIVE]
  ,[Supplier].[All Supplier].[THQ]
  ,[Supplier].[All Supplier].[UBISOFT]
  ,[Supplier].[All Supplier].[VIVENDI UNIVERSAL GAMES]
  ,[Supplier].[All Supplier].[MIDIA DISTRIBUTION]
},
{[SBU Items].[All SBU Items].[TNR].[Retail].[Games Retail],
[SBU Items].[All SBU Items].[TNR].[Retail].[Games Retail].[Consoles],
[SBU Items].[All SBU Items].[TNR].[Retail].[Games Retail].[Game Accessories],
descendants([SBU Items].[All SBU Items].[TNR].[Retail].[Games Retail].[New S/W],[level 08],SELF_AND_AFTER)
}
)
} DIMENSION PROPERTIES member_caption, [SBU Items].[level 08].[sbu key], [SBU Items].[level 08].[barcode]
  ON ROWS 
FROM [Retail Stock Cube] 
'
)

Я проверил разрешения для пакета DTS и пролистал множество статей без особого успеха. Комментарии Microsoft к сообщению об ошибке также не сильно помогают.

Буду очень признателен за любые рекомендации.

...