2010-08-18 219 views
2

我有一个简单的mysql数据库。它有3个表格。将mysql迁移到sql server 2008

这里是他们创建语句:

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 Server的最简单方法?

+0

您可以将链接服务器实例添加到MySQL实例,在SQL Server上创建数据库,然后使用SELECT INTO语法,因为它创建了一个表(提供它不存在... – 2010-08-18 22:12:22

回答

1

如果你正在寻找的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) 
) 
  • 报价蜱需要拆除
  • 主键状态创新和发展是不同的
  • 自动递增的值是不同的

您的其他两个表漂洗+重复,你是好。

然后你需要得到一个new connection string from Excel suitable for SQL Server