2008-11-20 38 views

回答

0

如果你使用phpMyAdmin,你可以运行整个数据库导出。它将生成一长串SQL命令来创建所有模式并将所有数据插入其各自的位置。

也可以从命令行执行所有这些操作。

如果您有大量数据,您可能希望将所有数据全部分开,每个表的单个SQL脚本以及每个表的插入。

然后在M $ SQL端创建数据库,使用SQL查询分析器或SQL Management Studio连接它,将SQL脚本复制粘贴到窗口中并执行。

很可能你的大部分MySQL代码只能在M $ SQL中工作。如果遇到问题,可以在MySQL导出上设置兼容级别,以更好地适应目标环境。

如果你只是在做数据,只要模式匹配,你所需要的脚本就是数据导入/导出,不要脚本模式和一定不要脚本滴!

编辑:如果你必须做任何转换,我相信你可以导出到M $ Excel,当然要CSV,然后在M $ SQL导入做你的映射等。

+0

你确保所有的MySQL数据类型与Mssql中数据类型兼容??? – Fred 2008-11-20 16:50:53

0

我的团队最近做了与之相反的SqlServer到MySql,使用MySql迁移工具包(用于将Fogbugz安装从Windows迁移到Linux),它工作得非常好。我们遇到了一个名为MSSQL2MySql的工具问题,但效果不佳。我不确定迁移工具包是否处理相反的方向,但可能值得一看。

8
-- Create Link Server 

EXEC master.dbo.sp_addlinkedserver 
@server = N'MYSQL', 
@srvproduct=N'MySQL', 
@provider=N'MSDASQL', 
@provstr=N'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; _ 
    DATABASE=tigerdb; USER=root; PASSWORD=hejsan; OPTION=3' 

-- Import Data 

SELECT * INTO testMySQL.dbo.shoutbox 
FROM openquery(MYSQL, 'SELECT * FROM tigerdb.shoutbox') 
+0

我用过这个。它适用于创建基本表模式并复制行(这非常好)。虽然我没有看到我的索引或键盘。我猜猜一些数据类型可能会失败,但迄今为止这么好。谢谢! – 2012-02-14 16:18:42

+0

我遇到了这种方法的各种错误。例如,长度大于4000的varchar列要求我使用ANSI驱动程序,否则它会尝试创建nvarchar列并失败,因为它的最大指定长度是4000.此外,不配置非常特定的选项,例如“返回SQL NULL数据为零日期“和”启用SQL_AUTO_IS_NULL“和”将最短日期绑定为零日期“,则会出现更多错误。由于没有相关选项可供配置,现在我正在“将数据类型DBTYPE_DBTIMESTAMP错误转换为datetime2”,并期望遇到更多问题。 – Triynko 2013-04-08 20:34:56

相关问题