Hello,
I'm trying to use ASP.NET 2.0 to connect to a 2005 Analysis services database.
My script run on a IIS 6 web site under MS Server 2003 SP1.
For my test, the Analysis services database and the web site are on the same
server. My web site is configured as "Allowed anymous access" with the user
acount "IUSR_ServerName". The authenticated access is define to "Integrated
windows authentification".
When I execute my web page, the connection can't be established with de
database, and the following error is raised :
"
OpenEither the user, MyDomain\MyServer$, does not have access to the
MyDatabase database, or the database does not exist.
at
Microsoft.AnalysisServices.AdomdClient.AdomdConnec tion.XmlaClientProvider.Microsoft.AnalysisServices .AdomdClient.IExecuteProvider.ExecuteTabular(Comma ndBehavior
behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection
commandProperties, IDataParameterCollection parameters) at
Microsoft.AnalysisServices.AdomdClient.AdomdComman d.ExecuteReader(CommandBehavior
behavior) at
Microsoft.AnalysisServices.AdomdClient.AdomdComman d.System.Data.IDbCommand.ExecuteReader(CommandBeha vior
behavior) at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset,
DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable,
IDbCommand command, CommandBehavior behavior) at
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) at
_Default.getDataset(String p_mdxQuery)
"
This is my connection string : "Provider=MSOLAP;Data Source=MyServerIP;User
ID=MyID; pwd=MyPwd;Initial Catalog=MyCatalogue;Client Cache Size=25;Auto
Synch Period=10000".
Is there anybody who have a suggestion why the connection can not be
established ? or is anyone have a sample solution to access to an analysis
services database through a web site ?
The User ID and Pwd parameters on the connection string are only used
when connecting via http, so the are being ignored, Your ASP.NET site
will be trying to access SSAS using the identity defined in the
application pool (which by the look of it is using the default local
service account)
Your options as I see them are.
1) Change the identity of the application pool in IIS 6 to use a domain
account that has access to the cubes.
2) Configure SSAS for HTTP connections so that you can use the User ID
and Pwd parameters on the connection string
3) Set up SSAS to allow anonymous connections.
I have put these options in order from what I consider "best" to "worst"
from a security & performance standpoint. However this is just my
opinion, there may be factors in your particular situation that I am not
aware of that may cause you to prefer one of the options that I have
ranked lower.
Regards
Darren Gosbell [MVP]
Blog: http://geekswithblogs.net/darrengosbell
*** Sent via Developersdex http://www.codecomments.com ***
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment