+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 91.78 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Введение в SQL Server Analysis Services для разработчика. Ошибки доступа по HTTP.

02.03.2010 13:03

1. Ошибка Initialization of the data source failed при коннекте с Analysis Services по HTTP из Excel 2007 и ранее.

Предполагается, что мы дошли до рис.20 в предыдущем посте и сказали Next. Появляется вот такой экранчик с просьбой обозвать более по-человечески созданное соединение и дать ему описание.

image

рис.1

Жмем Finish, Excel спрашивает, в каких ячейках расположить сводную таблицу (график), в которые он прочитает данные из кубика:

image

рис.2

Жмем ОК и получаем ошибку:

image

рис.3

Может быть более многословный текст:

Initialization of the data source failed.

Check the database server or contact your database administrator. Make sure the external database is available, and then try the operation again. If you see this message again, create a new data source to connect to the database.

Errors in the OLE DB provider. An error occurred while loading the connection dialog box component for prompting.

image

рис.4

Короче, жалуется на какие-то траблы с соединением несмотря на то, что только что (на рис.20) все кубы прекрасно виделись.

Обычное соединение по TCP/IP (имя сервера без всякого http)  и интегрированной аутентификации непосредственно в домене, где расположен сервер Analysis Services, из того же экселя происходит нормально.

Причина состоит в том, что Excel не держит постоянно открытое соединение с Analysis Services. Он может его закрывать и открывать по мере необходимости. В то же время введенный при организации соединения пароль (рис.19) он нигде внутри себя закэшировать не сподобился, и при повторном открытии соединения он его попросту забыл.. Мне известны два способа вылечить эту ситуацию. Оба никуда не годятся.

Способ первый. Разрешить анонимный доступ к виртуальной директории msolap. Делается в том же месте, где включалась базовая аутентификация на рис.15 в предыдущем посте. В качестве анонимного пользователя выбрать товарища с правами на Analysis Services:

image

рис.5

Возвращаемся в Excel, жмем на рис.2 ОК и успешно коннектимся к кубу. Справа в списке сводных полей видим знакомую структуру AdventureWorks.

image

рис.6

Ровно так же к кубу теперь может законнектиться любой проходимец. Уберите анонимный доступ.

Второй способ, тоже не ах, состоит в том, чтобы сохранить пароль в строке соединения.

В Excelе выведите список существующих соединений Data -> Existing Connections и нажмите внизу диалога кнопку Browse for More.

image

рис.7

Откроется окно с.odc-файлами, каждый из которых хранит информацию о своем соединении из Excel.

image

рис.8

Удалите файл с только что созданным соединением.

Закройте диалог и создайте соединение заново, начиная с рис.18 предыдущего поста. На последнем шаге (см.рис.1 этого поста) отметьте галку Save password in file. Будет выдано предупреждение

image

рис.9

Нажмите Yes. Соединение установится нормально и, вместо ошибки рис.3 появится заготовка сводной таблицы со структурой куба рис.6. Однако пароль действительно хранится в .odc-файле соединения (рис.8) в открытом виде, и каждый, кто в состоянии открыть его Notepad'ом, сможет свободно его прочитать:

image

рис.10

Как кто-то заметил в форуме, security not perfect but a lot better than Anonymous logon.

Также обратите внимание на последний пост в переписке:

Another way not to save the password in the file is:

In Control Panel -> User Acounts -> Manage Passwords (password saved were, where the admin could protect it)

Add the server with the information of the user (basic authentication)

In Excel use normal [windows authentication] and point the server to HTTPS msmdpump.dll

This should works. But I've a problem with a proxy server in the middle.

 

2. Совершенно аналогично экселю делается строка соединения изнутри приложения. Следует заметить, что при ошибочных credentials выдается совершенно мутное сообщение, могущее сбить с толку. Я наткнулся на эту ситуацию случайно, когда опечатался в пассворде. Вместо того, чтобы со всей партийной прямотой заявить, что такого не значится, AS говорит: "The connection either timed out or was lost". Видимо, чтобы враг не догадался. Или это аяец воду мутит, не знаю. Стоит иметь в виду, чтобы не бросаться копать в неправильном направлении.

image

рис.11

В Интернете народ по поводу этой ошибки советует всякую чушь из серии протереть фары и попинать колеса. Из дельного есть замечательная статья "Resolving Common Connectivity Issues in SQL Server 2005 Analysis Services Connectivity Scenarios" из серии "SQL Server Best Practices". Первым пунктом в ней дается сермяжный, но действенный совет проверить, is there a typographical or other error in the connection string, что доказывает, что автор тоже наступал на эти грабли, следовательно, излагал материал из действительно практического опыта, а не переписывал Books On-Line, за что заслуживает респект. К сожалению, я эту статью еще не читал, а потому просто нажал на View Detail... в окне ошибки.

image

рис.12

где и прочитал в InnerException истинную причину ошибки. Все сразу понятно. Почему бы не выдавать ее дальше наружу - вопрос философский.

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года