310  /  328

Сравнение структур баз

Просмотров: 685 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 08.12.2012

На данный момент имеется старый контент сайта в БД bsm_demo на MySQL и новый, но пустой сайт в БД bitrix на SQL Express. Перед переносом данных необходимо выяснить тождественность структуры баз в случае MySQL и SQL Express.

Создание сервера

В примере используется прилинкованный сервер со стороны SQL Express на MySQL, который использует MSDASQL (OLE DB поверх ODBC).

Примечание: Сервер Microsoft позволяет посылать запросы не только к «родной» базе SQL Express, но и к базе MySQL. Для этого необходимо использовать специальный ODBC-драйвер.

Создание сервера:

  • Загрузите ODBC-драйвер для MySQL 5.1.
  • Установите драйвер в систему.
  • Выполните команду Пуск > Все программы > SQL Server 2008 > SQL Server Management Studio.
  • Создайте прилинкованный сервер без создания DSN:
    if exists (select 1 from sys.servers where name = 'MySQL') 
     exec sp_dropserver @server = 'MySQL', @droplogins = 'droplogins'
    go
    exec sp_addlinkedserver @server = 'MySQL', @srvproduct = 'MySQLDatabase', @provider = 'MSDASQL', 
     @provstr = 'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; PORT=31006; DATABASE=bsm_demo; UID=root; PWD=; OPTION=3'
     go
    exec sp_addlinkedsrvlogin @rmtsrvname = 'MySQL', @useself = 'false', @locallogin = NULL, 
     @rmtuser = 'root', @rmtpassword = ''
    go
    exec sp_serveroption @server = 'MySQL', @optname = 'rpc', @optvalue = 'true'
    exec sp_serveroption @server = 'MySQL', @optname = 'rpc out', @optvalue = 'true'

Теперь сервер позволяет выполнять на MySQL запросы, адресованные к SQL Server, и возвращать результат MySQL, как если бы это был результат SQL Server:


Содержание главы:

1
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии