【问题标题】:Easiest way to import data from My Sql to Sql Server将数据从 Mysql 导入 Sql Server 的最简单方法
【发布时间】:2010-09-23 06:47:06
【问题描述】:

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

this site 我找到了很多选项,其中一些包括驱动程序的安装。最快和最简单的方法是什么?

更新:这只是一次导入

【问题讨论】:

    标签: mysql sql-server import


    【解决方案1】:
    -- 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')
    

    【讨论】:

    • 我用过这个。它可以很好地创建基本表模式并复制行(这非常好)。不过,我没有看到我的索引或键过来。我猜某些数据类型可能会失败,但到目前为止还不错。谢谢!
    • 我在使用这种方法时遇到了各种错误。例如,长度大于 4000 的 varchar 列要求我使用 ANSI 驱动程序,否则它会尝试创建 nvarchar 列并失败,因为它的最大指定长度为 4000。此外,无需配置非常具体的选项,例如“返回 SQL NULL DATA for zero date”和“Enable SQL_AUTO_IS_NULL”和“Bind minimum date as zero date”,还有更多错误。由于没有需要配置的相关选项,我现在收到“将数据类型 DBTYPE_DBTIMESTAMP 转换为 datetime2 时出错”,并且预计会遇到更多。
    • 我确实遇到了“将数据类型 DBTYPE_DBTIMESTAMP 转换为日期时间时出错”的问题。我必须先将数据从 MySql 导出到 CSV,然后再导出到 MS-SQL Server,这两个步骤使用保存为 VB 模块文件的数据转换服务,它非常顺利。不用说,这些字段将导出为 varchar(8000)。但这对我来说更好,而不是 DBType_DBTIMESTAMP 字段根本没有导出并介于两者之间。
    【解决方案2】:

    要转换MySQL to MS SQL Server 数据库,您可以使用Microsoft SQL Server Database Migration Assistant

    【讨论】:

    【解决方案3】:

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

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

    如果您有大量数据,您可能希望将所有数据分段执行,每个表的单个 SQL 脚本和插入到每个表中。

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

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

    如果您只是在做数据,只要架构匹配,您只需编写数据导入/导出脚本,不要编写架构脚本,当然不要脚本丢失!!!

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2010-11-22
        • 2017-07-24
        • 2016-04-12
        • 2011-08-25
        • 2020-08-14
        • 1970-01-01
        • 2011-06-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多