Миграция MySQL на SQL Server 2008 - PullRequest
2 голосов
/ 19 августа 2010

У меня есть простая база данных MySQL.у него есть 3 таблицы.

вот оператор create для них:

CREATE DATABASE `qcvalues` /*!40100 DEFAULT CHARACTER SET latin1 */

CREATE TABLE `batchinfo` (
  `rowid` int(11) NOT NULL AUTO_INCREMENT,
  `datapath` mediumtext,
  `analysistime` varchar(50) DEFAULT NULL,
  `reporttime` varchar(50) DEFAULT NULL,
  `lastcalib` varchar(50) DEFAULT NULL,
  `analystname` varchar(150) DEFAULT NULL,
  `reportname` varchar(150) DEFAULT NULL,
  `batchstate` varchar(150) DEFAULT NULL,
  `instrument` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`rowid`),
  UNIQUE KEY `rowid_UNIQUE` (`rowid`)
) ENGINE=InnoDB AUTO_INCREMENT=15771 DEFAULT CHARSET=latin1


CREATE TABLE `calibration` (
  `rid` int(11) NOT NULL AUTO_INCREMENT,
  `filename` varchar(100) DEFAULT NULL,
  `qcname` varchar(50) DEFAULT NULL,
  `compound` varchar(150) DEFAULT NULL,
  `response` varchar(50) DEFAULT NULL,
  `isid` varchar(150) DEFAULT NULL,
  `isidresp` varchar(150) DEFAULT NULL,
  `finalconc` varchar(50) DEFAULT NULL,
  `rowid` int(11) DEFAULT NULL,
  PRIMARY KEY (`rid`),
  UNIQUE KEY `rid_UNIQUE` (`rid`)
) ENGINE=InnoDB AUTO_INCREMENT=708947 DEFAULT CHARSET=latin1



CREATE TABLE  `qcvalues`.`qvalues` (
  `rid` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `compound` varchar(50) DEFAULT NULL,
  `rt` varchar(50) DEFAULT NULL,
  `response` varchar(50) DEFAULT NULL,
  `finalConc` varchar(50) DEFAULT NULL,
  `qvalue` varchar(50) DEFAULT NULL,
  `rowid` int(11) DEFAULT NULL,
  PRIMARY KEY (`rid`),
  UNIQUE KEY `rid_UNIQUE` (`rid`)
) ENGINE=InnoDB AUTO_INCREMENT=463066 DEFAULT CHARSET=latin1;

Я пишу в эту базу данных из Excel:

Set cn = New ADODB.Connection
    cn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _
        "SERVER=kame1;" & _
        "DATABASE=qcvalues;" & _
        "USER=root;" & _
        "PASSWORD=password;" & _
        "Option=3"
    'lets get the batch info
    '
    ' open a recordset
    Set rs = New ADODB.Recordset

Какой самый простой способ перенестивсю базу данных mysql на сервер sql?

Ответы [ 3 ]

3 голосов
/ 19 августа 2010

Microsoft недавно анонсировала инструмент миграции для поддержки миграции с MySql на SQL Server:

Microsoft объявляет помощника по миграции SQL Server для MySQL

Я не смотрел на это, но, возможно, стоит проверить; Вот страница загрузки инструмента (с типичным названием продукта в стиле MS; -):

Помощник по миграции на Microsoft SQL Server для MySQL v1.0

1 голос
/ 19 августа 2010

Если вы искали операторы SQL, совпадающие с тем, что вы опубликовали:

CREATE DATABASE qcvalues 

CREATE TABLE batchinfo (
  rowid int IDENTITY(1,1) NOT NULL,
  datapath varchar(max),
  analysistime varchar(50) DEFAULT NULL,
  reporttime varchar(50) DEFAULT NULL,
  lastcalib varchar(50) DEFAULT NULL,
  analystname varchar(150) DEFAULT NULL,
  reportname varchar(150) DEFAULT NULL,
  batchstate varchar(150) DEFAULT NULL,
  instrument varchar(20) DEFAULT NULL ,

  CONSTRAINT [PK_Batch] PRIMARY KEY CLUSTERED ([rowid] ASC)
)
  • Цитаты должны быть удалены
  • оператор первичного ключа отличается
  • значение автоинкремента отличается

Сполосните + повторите для двух других столов, и все хорошо.

Затем вам нужно получить новую строку подключения из Excel, подходящую для SQL Server .

1 голос
/ 19 августа 2010

Возможно, настройте пустую базу данных в SQL Server, затем в Management Studio используйте Мастер импорта для импорта данных и, в качестве побочного эффекта, дополнительно сгенерируйте операторы CREATE TABLE.

См. MSдокументация по мастеру экспорта / импорта для подробностей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...