Различия между ADOMD.net и поставщиком OLE DB для служб Analysis Services (особенно в отношении аутентификации) - PullRequest
1 голос
/ 11 декабря 2010

Я пытаюсь подключиться к кубу SQL Server Analysis Services на удаленном сервере, который не подключен к домену, к которому я подключен.

Я могу подключиться к кубу с помощью Excel после предоставления имени пользователяи пароль.Теперь я пытаюсь подключиться к тому же кубу с помощью кода.

Неудачное соединение через AdomdConnection

Использование ADOMD.net (AdomdConnection) для SQL Server 2008 R2 Я пытаюсьдля соединения с этой строкой соединения:

Data Source=SRV1;Initial Catalog=Name of Cube;User Id=RemoteAccount;Password=***

Это соединение не установлено в методе Open соединения. Интересно, что свойства "идентификатор пользователя" и "пароль" разрешены, потому что, если синтаксис был неправильным, вы получаете KeyNotFoundException.

Успешное соединение через OleDbConnection

Я могу успешно подключиться, если вместо этого использую OleDbConnection и следующую строку подключения (скопированную из подключения Excel):

Provider=MSOLAP.4;Persist Security Info=True;User ID=SRV1;Password=***;Initial Catalog=Name of Cube;Data Source=SRV1;

Итак, мои вопросы:

  • Может кто-тообъяснить это поведение?Я думал, что AdomdConnection только что использовал OleDB внизу?
  • Есть ли способ подключиться к экземпляру SSAS с AdomdConnection, используя имя пользователя и пароль?
  • Есть ли еще какие-либо различия между AdomdConnection и OleDbConnection?

Все загрузки доступны здесь .

Ответы [ 2 ]

0 голосов
/ 19 февраля 2015

Если вы не можете подключить куб с помощью Excel, то вы не можете подключить его с помощью кода.

Разница между подключением ADOMD.Net и OleDb заключается в том, что поставщик OleDb MSOLAP может использоваться для отправки запросов MDX, DAX и DMX в базу данных служб Analysis Services. Результатом может быть только скаляр или таблица, поэтому вы не можете использовать запрос MDX, возвращающий результаты по более чем двум осям. Когда вы используете запрос DAX, результат всегда будет хорошо помещаться в таблице, вы можете использовать класс DataReader для получения результата.

Мы предпочитаем в основном ADOMD.NET на OleDb из-за наличия Ошибка подключения , которая не была устранена.

Чтобы подключиться к экземпляру SSAS с помощью ADOMD.NET, нам нужно добавить следующую строку в файл web.config (после создания консольного приложения в Visual studio 2012)

Поскольку мы будем использовать проверку подлинности Windows для подключения к Microsoft Analysis Services 2005, это добавление строки в файле web.config требуется для олицетворения пользователя, имеющего доступ к службам Analysis Services.

Нам нужно настроить сервер IIS, создав новый пул приложений.

Следуя ссылке MSDN, вы получите другие параметры строки подключения ADOMD.NET.

https://msdn.microsoft.com/en-us/library/microsoft.analysisservices.adomdclient.adomdconnection.connectionstring

0 голосов
/ 17 февраля 2011

Я успешно использую AdomdConnection с ключами имени пользователя и пароля, но разница в том, что я подключаюсь к источнику данных HTTP. Решение, которое я использую, заключается в том, что я туннелирую трафик OLAP через HTTP через IIS 7, как описано в MSDN . Имя пользователя и пароль затем олицетворяются IIS для учетных данных Windows.

Примечание. Отключите анонимную проверку подлинности и проверку подлинности Windows в IIS. Я только получил работать с базовой аутентификацией. Для повышения безопасности используйте SSL.

...