PRB: Cannot Administer Analysis Services by Using DSO in ASP.NET (823066)
The information in this article applies to:
- Microsoft SQL Server 2000 Analysis Services
- Microsoft Visual Basic .NET (2002)
- Microsoft Visual Basic .NET (2003)
SYMPTOMSWhen you try to use Microsoft Decision Support Objects (DSO)
from an ASP.NET application to perform administrative tasks on a server that is
running Analysis Services, you may receive an error similar to the
following: When connecting to the local computer that is running
Analysis Services: Cannot connect to the
Analysis server on computer 'MyServer'. Connection to the server is
lost
When connecting to a remote computer that is running
Analysis Services: Cannot open connection to
Analysis server 'MyRemoteServer'. Error in data [Possible data corruption]
CAUSEThis behavior occurs for two separate reasons. One part of
the issue involves the start permissions of the DSO ActiveX DLL. By default,
the ActiveX DLLs are carried out in the ASP.NET worker process (Aspnet_wp.exe)
under the ASPNET account, when called from an ASPX page.
The other
part of the issue is, Aspnet_wp.exe uses a Multi-Threaded Apartment (MTA)
model, while DSO uses a Single-Threaded Apartment (STA) model. With the ASP.NET
application, the impersonation token is on one of the applications MTA threads
and the STA COM component is accessed by a different thread (the single thread
in its STA). Because the MTA threads impersonation token is not passed to the
STA thread, the STA thread carries out under the security token associated with
the Aspnet_wp.exe process.WORKAROUNDTo work around the problem, you must enable impersonation in
the ASP.NET application. To do so, follow these steps:
Modification Type: | Major | Last Reviewed: | 8/6/2003 |
---|
Keywords: | kbweb kbAuthentication kberrmsg kbprb KB823066 kbAudDeveloper |
---|
|