This project has moved. For the latest updates, please go here.


ASSP.DiscoverXmlMetadataFull : Try to store result into table


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 ...
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...
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


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


thank you It's working now ...


wrote Dec 29, 2010 at 9:00 PM

wrote Feb 22, 2013 at 12:29 AM

wrote May 16, 2013 at 12:00 PM