1

当我执行此代码时:

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 查询。

为什么我不能在代码中得到这个异常?

4

2 回答 2

0

哪一行导致错误?我想您必须在连接字符串上输入目录。尝试添加

Catalog=Analysis Services Project1

到你的 con 字符串。

此外,Analysis Services Project1 似乎是项目名称?您确定这也是数据库名称吗?

于 2012-10-24T12:05:42.600 回答
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);
    }
于 2017-09-20T07:32:14.320 回答