Код ниже используется для открытия соединения с Essbase.
AdomdClient и MSAdomdClientSCLib добавляются в качестве ссылки
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim Obj As New AdomdConnection
Try
Obj.ConnectionString = "Data Source =http://address/aps/XMLA; Catalog=RPT_ARC; User Id=XXX; Password=YYY; Provider=ESSBASE"
Obj.Open()
TextBox1.Text = "Connection State: " + Obj.State.ToString
TextBox1.Text += Environment.NewLine + "Database : " + Obj.Database.ToString
TextBox1.Text += Environment.NewLine + "Connection Timeout : " + Obj.ConnectionTimeout.ToString
TextBox1.Text += Environment.NewLine + "Session ID: " + Obj.SessionID.ToString
TextBox1.Text += Environment.NewLine + "Server Version: " + Obj.ServerVersion.ToString
TextBox1.Text += Environment.NewLine + "Provider Version: " + Obj.ProviderVersion.ToString
TextBox1.Text += Environment.NewLine + "Client Version: " + Obj.ClientVersion.ToString
Catch ex As AdomdConnectionException
TextBox1.Text = "Exception:" + ex.ToString
Throw ex
Finally
End Try
End Sub
Когда я проверяю состояние соединения, оно говорит "открыто".Странно то, что Obj.Database.ToString не содержит никакого значения?
Если я добавлю дополнительный фрагмент кода для подсчета количества кубов
TextBox1.Text += Environment.NewLine + "# of cubes: " + Obj.Cubes.Count.ToString
Я получу ниже исключения
Exception thrown: 'Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException' in Microsoft.AnalysisServices.AdomdClient.dll ("")
У меня три вопроса
1) Почему Obj.Database.ToString не содержит никакого значения, хотя состояние соединения открыто?
2) Почему возникает исключение, когдаЯ хочу подсчитать количество кубов?
3) Идентификационные данные и имя пользователя совпадают?