2010-08-18 173 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