Последовательность
действий, необходимых для создания в
Шарепойнте (Sharepoint Foundation 2013) элемента
типа “Внешний список” (External List).
Названия
таблиц, БД и прочих объектов даны для
тестового набора данных, сделанного в
ходе эксперимента.
Внешний
список - это отображение в виде Списка
Шарепойнта таблицы из SQL DB.
Для
создания Внешнего списка нужно следующее:
1.
Доступ к веб-управлятору Шарепойнта,
типа: http://servwf:31505/default.aspx
2.
Доступ к программе Шарепойнт Дизайнер,
скачать можно тут
http://www.microsoft.com/en-us/download/confirmation.aspx?id=35491
3.
Business Data Connectivity (BDC) Metadata Store - это службы
в Шарепойнте.
4.
Для BDC требуется Secure Store - тоже службы в
Шарепойнте.
Если
все это есть (если нет, см.ниже), процедура
создания Внешнего списка такова:
1.
Открыть Шарепойнт Дизайнер и открыть
в нем сайт http://servwf/
2.
В левой панели “Навигация” щелкнуть
“External Content Types”.
3.
В появившемся риббоне щелкнуть кнопку
“New External Content Type”.
4.
В появившейся панели создания нового
Внешнего Типа задать параметры:
а.
имя
б.
External System
External
System - это настройка связи с базой данных.
Рассмотрим внешнюю систему подробнее:
При
нажатии на кнопку (в виде ссылки) External
System - откроется панель Operation Designer. В этой
панели надо нажать кнопку Add Connection.
Откроется
список выбора Data Source Type, где надо выбрать
значение SQL Server.
Откроется
окошко задания параметров соединения.
Задать
Database
Server: servsql2
Database
Name: sql2sp
Connect
with User’s Identity
После
подтверждения этих параметров, в панели,
в списке Data Source Explorer, появится древообразное
представление содержимого БД.
В
этом дереве надо выбрать таблицу -
tab2sp, щелкнуть по ней ПКМ и выбрать сначала
New Read Item Operation, потом New Read List Operation. Не
обращайте внимания на то, что пункты
меню выглядят неактивными.
В
обоих случаях откроется “визард”
задания свойств операции. В панелях
визардов надо выбрать нужные поля
таблицы и включить для них галочки Map
to Identifier. В визарде для списковой операции
надо указать для хотя бы одного поля
галочку Show in Picker.
Следует
знать, что нельзя использовать текстовые
поля “неопределенной” длины и поля в
которых есть значения NULL.
После
этого можно (и нужно) сохранить созданный
Внешний тип, нажав в тулбаре Дизайнера
на значок дискетки.
5.
Закрыть все вкладки Дизайнера и снова
открыть вкладку для Внешних типов,
щелкнув в панели Навигация на External
Content Types.
6.
Справа откроется перечисление Внешних
типов, надо выделить мышкой только что
созданный Внешний тип.
7.
В риббоне нажать кнопку Export BDC Model.
8.
В открывшемся окошке экспорта задать
имя для модели, подтвердить, подтвердить
сохранение на диске файла типа BDCM.
9.
Отредактировать полученный файл (в
толковом текстовом редакторе, типа
Notepad++).
В
файле надо найти блок типа
<LobSystemInstance
Name="sql2sp">
<Properties>
<Property
Name="AuthenticationMode"
Type="System.String">PassThrough</Property>
<Property
Name="DatabaseAccessProvider"
Type="System.String">SqlServer</Property>
<Property
Name="RdbConnection Data Source"
Type="System.String">servsql2</Property>
<Property
Name="RdbConnection Initial Catalog"
Type="System.String">sql2sp</Property>
<Property
Name="RdbConnection Integrated Security"
Type="System.String">SSPI</Property>
<Property
Name="RdbConnection Pooling"
Type="System.String">True</Property>
<Property
Name="ShowInSearchUI" Type="System.String"></Property>
</Properties>
</LobSystemInstance>
и
заменить его на блок типа
<LobSystemInstance
Name="sql2sp">
<Properties>
<Property
Name="AuthenticationMode"
Type="System.String">PassThrough</Property>
<Property
Name="DatabaseAccessProvider"
Type="System.String">SqlServer</Property>
<Property
Name="RdbConnection Data Source"
Type="System.String">servsql2</Property>
<Property
Name="RdbConnection Initial Catalog"
Type="System.String">sql2sp</Property>
<Property
Name="RdbConnection Pooling"
Type="System.String">True</Property>
<Property
Name="RdbConnection User ID"
Type="System.String">sa</Property>
<Property
Name="RdbConnection Password" Type="System.String">тут
пароль для учетки sa в БД</Property>
<Property
Name="RdbConnection Integrated Security"
Type="System.String">False</Property>
<Property
Name="ShowInSearchUI" Type="System.String"></Property>
</Properties>
</LobSystemInstance>
10.
Удалить в Дизайнере созданный Внешний
тип и Коннект к БД.
Удаление
коннекта к БД делается через трюк - после
удаления Внешнего типа надо начать
создание нового Внешнего типа, открыть
панель подключения к БД (см.выше описание
4.б), в списке Data Source Explorer с помощью ПКМ
удалить источник данных.
Закрыть
все вкладки без сохранения.
11.
Импортировать отредактированный файл
BDCM в веб-управляторе Шарепойнта.
Зайти
в Управление приложениями
http://servwf:31505/applications.aspx
Зайти
в Управление приложениями-службами
http://servwf:31505/_admin/ServiceApplications.aspx
Выделить
службу “Приложение-служба подключения
к бизнес-данным” и в риббоне нажать
кнопку Управление.
Откроется
панель “Сведения о приложении-службе
Имя: businessdataconnectivity” в риббоне
которой надо нажать кнпку Импорт.
Выбрать
с диска отредактированный ранее файл
и импортировать его.
12.
В Шарепойнт Дизайнере обновить (открыть
заново) панель External Content Types и выбрать
появившийся там Внешний тип.
13.
В риббоне нажать кнопку External List.
14.
В появившемся окне задать имя и описание
для нового Внешнего списка, подтвердить.
Все,
внешний список создан. Можно использовать.
В
примере урл для списка получился такой
http://servwf/Lists/testextlist3/tab2spRead%20List.aspx
Вернемся
к началу нашей повести, к списку
необходимого при создании Внешних
списков. Вероятнее всего у вас будут
проблемы с пунктами 3,4.
Это
пункты
3.
Business Data Connectivity Metadata Store - это службы в
Шарепойнте
4.
для BDC требуется Secure Store - тоже службы в
Шарепойнте
В
веб-управляторе зайти в Управление
службами на сервере
и
включить службы
Служба
Secure Store; Служба подключения к бизнес-данным.
Зайти
в Управление приложениями-службами
и
найти службу “Приложение-служба
подключения к бизнес-данным”. Если
такой нет, ее надо создать, используя
кнопку Создать в риббоне.
Зайти
в Управление веб-приложениями
и
выделить “Sharepoint 80 http://servwf/”. В риббоне
щелкнуть “подключение к службам,
управление”. В открывшемся окне
“настройки связей для приложений-служб”
включить галочки для Secure Store, business data
connectivity.
Вероятно,
вы столкнетесь с тем, что Secure Store будет
ругаться словами типа “что-то не так
или закончился срок лицензии”. Не
обращайте внимания, это известная бага
Sharepoint Foundation.
original post http://vasnake.blogspot.com/2014/03/sharepoint-external-list.html
Комментариев нет:
Отправить комментарий