среда, 26 января 2011 г.

Запуск C1 на Microsoft SQL Server'е

По умолчанию С1 хранит все свои данные в обычных XML файлах - /App_Data/Composite/DataStores/*.xml.

Начиная с версии 2.1, при помощи этого модуля можно безболезненно "мигрировать" данные из XML файлов в базу данных на Microsoft SQL Server.

Как это сделать?



Подготовим базу данных
  1. Создаем базу данных на Microsoft SQL Server - например, C1Database. (Я использовал Microsoft SQL Server 2008 R2 Express.)
  2. Добавляем пользователя в базу с ролью db_owner, например, c1admin. (Его мы будем использовать в строке подключения, если не использовать интегрированный режим.)
Подготовим C1
  1. Устанавливаем последнюю бета-версию C1 на WebMatrix - сборку не ниже 2.1.4042.26527 - и запускаем.  (Или запускаем на IIS7. Или используем исходники и собираем CMS сами и запускаем из Visual Studio 2010.)
  2. Заходим в админку в раздел System.
  3. Находим новый модуль Packages | Available packages | Composite.Tools | Composite.Tools.SqlServerDataProvider и устанавливаем его (см. Как установить модуль расширения).
Мигрируем данные

После перезапуска админки в разделе System появиться новый узел SqlServer Data Provider.
  1. Выбираем SqlServer Data Provider и нажимаем Convert to SQL.
  2. В открывшемся мастере (справа), вводим строку подключения к базе данных, напр., Data Source=.\SQLEXPRESS;Initial Catalog=C1Database;User Id=c1admin;Password=(пароль)
  3. Нажимаем Next и ждем пока пройдет проверка соединения и т.п..
  4. В новом окне мастера нажимаем Finish
Когда миграция закончится, появится сообщение. Нажимаем в окне сообщения ОК и админка опять перезапустится.

И это все.

Дополнительные компоненты

В некоторых случаях при миграции или работе уже с SQL версией C1 могут появиться сообщения об ошибках типа: "Could not load file or assembly 'Microsoft.SqlServer.Smo, Version=10.0.0.0" и т.п. В этом случае необходимо установить Microsoft SQL Server 2008 R2 Shared Management Objects (SMO).

Комментариев нет:

Отправить комментарий