Mysql 将数据从我的Sql导入Sql Server的最简单方法

Mysql 将数据从我的Sql导入Sql Server的最简单方法,mysql,sql-server,import,Mysql,Sql Server,Import,对于一个新项目,我必须从MySql导入预先存在的数据 在中,我找到了许多选择,其中包括安装驱动程序。最快最简单的方法是什么 更新:这只是一次导入如果您有权访问phpMyAdmin,则可以运行整个数据库的导出。它将生成一长串SQL命令来创建所有模式,并可以选择将所有数据插入各自的位置 也可以从命令行执行所有这些操作 如果您有大量数据,您可能希望将所有数据分块进行,每个表都有一个SQL脚本,每个表中都有插入 然后在M$SQL端,只需创建数据库,使用SQL查询分析器或SQL管理Studio连接到数据库

对于一个新项目,我必须从MySql导入预先存在的数据

在中,我找到了许多选择,其中包括安装驱动程序。最快最简单的方法是什么


更新:这只是一次导入

如果您有权访问phpMyAdmin,则可以运行整个数据库的导出。它将生成一长串SQL命令来创建所有模式,并可以选择将所有数据插入各自的位置

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

如果您有大量数据,您可能希望将所有数据分块进行,每个表都有一个SQL脚本,每个表中都有插入

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

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

如果你只是在做数据,只要模式匹配,你就只需要编写数据导入/导出脚本,不要编写模式脚本,当然也不要编写脚本


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

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

要将
MySQL转换为MS SQL Server
数据库,您可以使用它。它可以很好地创建基本表模式并复制行(这非常好)。不过,我没有看到我的索引或键出现。我猜有些数据类型可能会失败,但到目前为止还不错。谢谢我用这种方法遇到了各种各样的错误。例如,长度大于4000的varchar列要求我使用ANSI驱动程序,否则它尝试创建nvarchar列并失败,因为其最大指定长度为4000。此外,如果没有配置非常具体的选项,例如“为零日期返回SQL NULL数据”和“启用SQL自动为零日期”以及“将最小日期绑定为零日期”,则会出现更多错误。在没有相关选项可供配置的情况下,我现在得到了“将数据类型DBTYPE\u DBTIMESTAMP转换为datetime2时出错”,并且预计还会遇到更多问题。我确实遇到了“将数据类型DBTYPE\u DBTIMESTAMP转换为datetime时出错”的问题“。我必须先将数据从MySql导出到CSV,然后再导出到MS-SQL Server,这两个步骤都使用数据转换服务保存为VB模块文件,并且非常顺利。不用说,字段将导出为varchar(8000)。但对我来说,这比DBType_DBTIMESTAMP字段完全不导出并打断两者更好。这是除MySQL之外的当前链接,它支持Oracle、Sybase和MS Access。
-- 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')