1

Closed

ASSP.DiscoverXmlMetadataFull : Try to store result into table

description

Hello...
 
in order to synchronize cube from a source server i d like to check in a sqlserver job if olap db are procssed on source server. with this code ...
 
SELECT * into #TEMP_STATE FROM
 
openrowset('MSOLAP', 'DATASOURCE=localhost;Initial Catalog=OLAP','CALL ASSP.DiscoverXmlMetadataFull("Database");' )
 
I get this error :
 
Msg 7357, Level 16, State 2, Line 2Cannot process the object "CALL ASSP.DiscoverXmlMetadataFull("\Databases\Database") ". The OLE DB provider "MSOLAP" for linked server "(null)" indicates that either the object has no columns or the current user does not have permissions on that object.
 

 
Other execution like this one works fine...
 
SELECT * into #TEMP_LOCK FROM
 
openrowset('MSOLAP', 'DATASOURCE=localhost;Initial Catalog=OLAP','CALL ASSP.Discover("DISCOVER_LOCKS");' )
 
someone have a workaround to realize such a check ? Thank you
Closed Dec 29, 2010 at 9:00 PM by furmangg
this fix is part of the 1.3.5 release

comments

dgosbell wrote Jun 21, 2010 at 4:00 AM

In the DMV function I use a technique where I asked for the Schema only if the function was called using a "for prepare" option (which is what OpenRowset, OpenQuery etc do to get the structure of the recordset that will be returned) This code does not work for the DiscoverXmlMetadata... family of functions as the schema is built dynamically. Taking out the code that adds the "Schema" parameter has fixed this issue. The fix is available as part of the latest changeset under the Source tab.

frpatou wrote Jun 22, 2010 at 10:57 AM

Hello...

thank you It's working now ...

Regards