执行此代码时:
AdomdConnection con = new AdomdConnection("Data Source=MyServer;User ID=MyDomain\\MyUserName;Password=MyPassword");
con.Open();
con.ChangeDatabase("Analysis Services Project1");
我得到了这个例外:
用户MyDomain \ MyUserName $无权访问 Analysis Services Project1数据库或数据库不存在。
数据库名称来自使用Microsoft SQL Server Management Studio查看服务器。如果我打开服务器上的属性并转到安全部分,我的帐户将被列为服务器管理员。在管理工作室中,我可以看到数据源,多维数据集和执行mdx查询。
为什么我无法在代码中获得此异常?
答案 0 :(得分:0)
whihc行导致错误? 我想你必须在连接字符串上输入目录。试试addind
Catalog=Analysis Services Project1
到你的骗局。
另外,Analysis Services Project1似乎是项目名称?你确定这也是数据库名称吗?
答案 1 :(得分:0)
首先 添加了Microsoft.AnalysisServices.AdomdClient.dll
的参考strCon = "Data Source=DBserverServerName;Integrated Security=SSPI;Initial Catalog=DBName;";
AdomdConnection con = new AdomdConnection("connectionstring"); // connect DB con.Open(); AdomdCommand cmd = new AdomdCommand("MDX query", con); //query
AdomdDataReader reader = cmd.ExecuteReader(); //Execute query
while (reader.Read()) // read
{
Data dt = new Data(); // custom class
dt.Gender = reader[0].ToString();
dt.Eid = reader[1].ToString();
dt.salary = reader[2].ToString();
data.Add(dt);
}