Интеграция SharePoint 2010 и SQL Azure

В этой статье рассматривается интеграция SharePoint 2010 и SQL Azure.

  • Введение
  • База данных
  • Подключение с помощью BCS
    • Создание приложения Secure Store
    • Внешний тип контента и внешний список
  • Подключение без использования BCS
  • Заключение
  • Полезные ссылки

Введение

Для работы понадобится триальный аккаунт для Windows Azure, который можно получить на 30 дней без кредитной карты здесь.

Кроме этого, понадобится SharePoint 2010, Visual Studio 2010 и SharePoint Designer 2010.

База данных

Я создал базу данных spazureDB с одной таблицей books, в которой хранятся данных о книгах.

image

Рис. 1. Страница управления база данных SQL Azure

Для создания базы данных можно использовать SQL Server Management Studio (при этом в качестве сервера указывать <Имя сервера>.database.windows.net)или кликнуть на Manage на странице управления базами данных SQL Azure. Во втором случае можно создавать таблицы и заполнять их данными прямо в браузере (рис. 2).

image

Рис. 2. Страница в Database Manager

При этом нужно не забыть настроить исключение файрвола для доступа к базам данных со стенда SharePoint 2010.

Подключение с помощью BCS

Для подключения к SQL Azure будем использовать Business Connectivity Services. После создания и наполнения нашей базы данных создадим новое приложение Secure Store для аутентификации в SQL Azure.

Создание приложения Secure Store

В центре администрирования выбираем Управление приложениями-службами, и создаем новое приложение Secure Store (не путать с созданием самой службы). Нужно заполнить первые три поля, значения двух оставшихся можно оставить по умолчанию (рис. 3) и кликнуть на Далее.

image

Рис. 3. Окно создания нового приложения Secure Store

На следующем шаге нужно указать поля для авторизации. В нашем случае нужно изменить типы поля, так как при авторизации в SQL Azure не используется Windows-авторизация. Также нужно указать названия полей, и кликнуть на Далее.

image

Рис. 4. Поля для авторизации приложения Secure Store

На следующей странице нужно указать администраторов приложения. На этом процесс создания приложения Secure Store для авторизации в SQL Azure завершен.

Внешний тип контента и внешний список

Запустим SharePoint Designer 2010, и создадим новый Внешний тип контента. После заполнения названия внешнего типа контента кликнуть на поле Внешняя система и далее на Добавить подключение. В качестве источника данных в появившемся окне выбрать SQL Server. Нужно заполнить форму как показано на рис. 5

image

Рис. 5. Создание подключения к SQL Azure

После нажатия на ОК появится окно авторизации, где нужно ввести данные пользователя SQL Azure. В результате чего (в случае настройки правил файрвола в SQL Azure), подключение настроено. Остается создать операции для работы с таблицей (рис. 6).

image

Рис. 6. Создание операций для работы с таблицей

После чего кликаем на Далее и задаем параметры для каждого элемента источника данных. Можно оставить параметры по умолчанию (рис. 7). Кликаем на Готово.

image

Рис. 7. Параметры элементов источника данных

Теперь остается создать внешний список, который будет содержать данные из подключенной базы SQL Azure. Например, для этого можно использовать кнопку на ленте при создании внешнего типа контента. В появившемся диалоговом окне (рис. 8 ) указываем имя списка, описание и также можно создать форму InfoPath. Кликаем на ОК.

image

Рис. 8. Окно создания нового внешнего списка

После создания нового списка открываем его в браузере, где будет предложено ввести данные для доступа к SQL Azure, в результате чего отобразятся данные из таблицы (рис. 9).

image

Рис. 9. Внешний список на портале SharePoint 2010

Подключение без использования BCS

Можно подключиться к базе напрямую, без использования BCS. Например, можно создать визуальную веб-часть, и добавить туда следующий код

        private const string connectStr = "Server=tcp:ServerName.database.windows.net;"
            + "Database=SpAzureDB; User ID=UserName@ServerName; Password=Password;"
            + "Trusted_Connection=False; Encrypt=True;";
        private string selectCommand = "select * from SpAzureDB.dbo.books;";
        private DataTable booksData = new DataTable("books");

        protected void FetchAndFill(string connectStr, string selectCommand)
        {
            using (var connection = new SqlConnection(connectStr))
            {
                var adaptor = new SqlDataAdapter
                {
                    SelectCommand = new SqlCommand(selectCommand, connection),
                };
                adaptor.Fill(booksData);
                booksGrid.DataSource = booksData;
                booksGrid.DataBind();
            }
        }

        protected void btnFill_Click(object sender, EventArgs e)
        {
            FetchAndFill(connectStr, selectCommand);
        }

Заключение

Мы рассматривали простейший случай интеграции возможностей Azure и SharePoint 2010. Основная цель данной статьи – показать, что два решения могут работать вместе.

Полезные ссылки

Центр разработки Windows Azure

BCS в SharePoint Server 2010

Лабораторная работа по BSC

SharePoint and Windows Azure Development Kit

Advertisements

Интеграция SharePoint 2010 и SQL Azure: 3 комментария

  1. Спасибо за статью. Очень бы хотелось увидеть статью по возможностям интеграции SharePoint и баз Oracle. Попытки подцепить таблицы через BCS почему то успехом не увенчались :(

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s