Does anyone have any idea how to get the proactive caching client
notifications working?
The do***entation says to send a NotifyTableChange command to the
server, but I keep getting the following error.
-------
The NotifyTableChange element at line 1, column 150 (namespace
urn:schemas-microsoft-com:xml-analysis) cannot appear under
Envelope/Body/Execute/Command.
-------
I have tried setting up the request according to the Books Online
do***entation and came up with the following:
<Envelope xmlns=""http://schemas.xmlsoap.org/soap/envelope/"">
<Body>
<Execute xmlns=""urn:schemas-microsoft-com:xml-analysis"">
<Command>
<NotifyTableChange>
<Object>
<DatabaseID>Adventure Works DW</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<PartitionID>Internet_Sales_2001</PartitionID>
</Object>
<TableNotifications>
<TableNotification>
<DbSchemaName>dbo</DbSchemaName>
<DbTableName>FactInternetSales</DbTableName>
</TableNotification>
</TableNotifications>
</NotifyTableChange>
</Command>
</Execute>
</Body>
</Envelope>
I also had a variation on the above from a webcast on proactive caching,
which had a snippet of the NotifyTableChange xml that included Provider,
Source and InitialCatalog elements.
<Envelope xmlns=""http://schemas.xmlsoap.org/soap/envelope/"">
<Body>
<Execute xmlns=""urn:schemas-microsoft-com:xml-analysis"">
<Command>
<NotifyTableChange>
<Provider>SQLOLEDB</Provider>
<DataSource>localhost\SQL05</DataSource>
<InitialCatalog>Adventure Works DW</InitialCatalog>
<Object>
<DatabaseID>Adventure Works DW</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<PartitionID>Internet_Sales_2001</PartitionID>
</Object>
<TableNotifications>
<TableNotification>
<DbSchemaName>dbo</DbSchemaName>
<DbTableName>FactInternetSales</DbTableName>
</TableNotification>
</TableNotifications>
</NotifyTableChange>
</Command>
</Execute>
</Body>
</Envelope>
But both of these (any many other variations) have failed.
I am using the following snippet of VB.Net code to send the command to
the server.
Dim client As New Microsoft.AnalysisServices.Xmla.XmlaClient
client.Connect("localhost")
client.Send(cmd, Nothing)
client.Disconnect()
--
Thanks
Darren Gosbell [MCSD]
Blog: http://www.geekswithblogs.net/darrengosbell