суббота, 20 февраля 2010 г.

Использование в SharePoint внешних данных при помощи службы подключения к бизнес-данным

Приведу пример использования внешнего источника данных в качестве списка.

1. В центре администрирования выбрать пункт «Управление приложениями-службами»
clip_image002

2. В списке приложений-служб выбрать «Служба подключения к бизнес-данным»
clip_image004

3. В настройках приложения-службы нажать «Задание разрешений хранилища метаданных»
clip_image006

4. В диалоге настройки разрешений добавить администраторов и пользователей подключений к внешним данным
clip_image008

5. Открыть в SharePoint Designer узел, на котором необходимо использовать данные и откройте раздел «Внешние типы контента»
clip_image010

6. Нажать кнопку «Внешний тип контента»
clip_image012

7. Ввести название внешнего типа содержимого и щелкните по ссылке «Щелкните здесь для обнаружения внешних источников данных и определения операций»
clip_image014

8. Нажать кнопку «Добавить подключение»
clip_image016

9. Выбрать тип источника данных. В нашем примере это SQL-сервер.
clip_image018

10. Ввести адрес сервера и имя базы данных
clip_image020

11. Раскрыть структуру базы данных, раскрыть узел «Таблицы», щелкнуть правой кнопкой по нужной таблице и выбрать в контекстном меню «Создать все операции»
clip_image022

12. Нажать «Далее»
clip_image024

13. В списке полей выбрать поле и установить для него отображаемое имя и установить признак «Показать в средстве выбора».
clip_image026

14. Нажать кнопку «Создать списки и формы»
clip_image028

15. Ввести название списка
clip_image030

16. В итоге список можно отрыть в браузере
clip_image032

6 комментариев:

  1. Всё сделал. Вываливается с ошибкой:
    "Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'"

    До того как добавил разрешения в центре администрирования было следующее:
    "Доступ запрещен службой подключения к бизнес-данным."

    ОтветитьУдалить
  2. Почитываю Ваш блог, спасибо за ценные посты.

    У меня вот такой вот вопрос, может сможете помочь мне.
    SP 2010 standard.
    В узел подключен внешний список BCS из базы mssql.
    Пытаюсь сделать страничку в Sharepoint designer 2010, на которой этот
    список является DropDownList.

    Я как делаю, на страницу помещаю источник данных этого списка(при этом в источнике данных свойство DataSourceMode выставлено List),
    добавляю DropDownList, подключаю его к этому источнику данных и настраиваю поля
    отображения и ключевого значения.
    Вот код со страницы:






















    Всё вроде бы просто, но при запуске вываливается ошибка

    System.NullReferenceException: Object reference not set to an instance
    of an object.
    at Microsoft.SharePoint.WebControls.SPDataSourceViewResultItem.System.ComponentModel.ICustomTypeDescriptor.GetProperties()
    at System.ComponentModel.TypeDescriptor.MergedTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetProperties()
    at System.ComponentModel.TypeDescriptor.GetPropertiesImpl(Object
    component, Attribute[] attributes, Boolean noCustomTypeDesc, Boolean
    noAttributes)
    at System.ComponentModel.TypeDescriptor.GetProperties(Object component)
    at System.Web.UI.DataBinder.GetPropertyValue(Object container, String
    propName)
    at System.Web.UI.DataBinder.GetPropertyValue(Object container, String
    propName, String format)
    at System.Web.UI.WebControls.ListControl.PerformDataBinding(IEnumerable
    dataSource)
    at System.Web.UI.WebControls.ListControl.PerformSelect()
    at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()
    at System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e)
    at System.Web.UI.Control.PreRenderRecursiveInternal()
    at System.Web.UI.Control.PreRenderRecursiveInternal()
    at System.Web.UI.Control.PreRenderRecursiveInternal()
    at System.Web.UI.Page.ProcessRequestMain(Boolean
    includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


    Меняю в источнике данных DataSourceMode на ListItem, запускаю страницу и вижу
    свой контрол только с одной записью!! хотя в списке их очень много. Я так понимаю
    в таком режиме источник данных и показывает только один элемент.
    Но почему в режиме List источник данных внешнего списка падает с ошибкой ни как не пойму!

    Самое главное если всё тоже самое делать с обычным списком, не внешним, то всё работает как часы.
    как же мне вывести внешний список как dropdownlist?

    заранее спасибо

    ОтветитьУдалить
  3. эм, код обрезали в комментах, но его можно посмотреть вот здесь _http://www.gotdotnet.ru/forums/5/135453/

    ОтветитьУдалить
  4. Вместо написания своей страницы нельзя просто создать список со столбцом подстановки к внешнему списку?

    ОтветитьУдалить
  5. я вообщем хочу сделать вывод связи один-ко-многим.
    тот выпадающий список хочу использовать как фильтр для второго внешнего списка. У меня sp 2010 standard, и вебпартов business data у меня нету в этой редакции, а в них я видел связь 1-* реализована

    ОтветитьУдалить
  6. Правильно я понимаю, что у вас два списка и вы хотели бы дать пользователю выбрав элемент в первом списке просмотреть фильтрованное представление (view) второго списка.

    ОтветитьУдалить