Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅将表数据从MSSQL迁移到MySQL_Mysql_Sql Server_Entity Framework_Asp.net Identity - Fatal编程技术网

仅将表数据从MSSQL迁移到MySQL

仅将表数据从MSSQL迁移到MySQL,mysql,sql-server,entity-framework,asp.net-identity,Mysql,Sql Server,Entity Framework,Asp.net Identity,负责将代码优先数据库从MSSQL移动到MySQL。经过几个小时的功夫,我能够让asp.net核心项目正确地部署到mysql的所有迁移。现在我需要迁移现有mssql表中的数据。我看到一些帖子提到MySQL迁移工具包,但这似乎很旧。还尝试使用MySQL Workbench和DBLoad的数据加载器来实现这一点,但没有任何运气 表结构非常简单,使用增量整数键+asp.net核心标识框架(GUID)的常见垃圾。只需要在迁移过程中保持一致。在MySQL中设置了表结构之后,迁移数据的最佳方式是什么?如有任何

负责将代码优先数据库从MSSQL移动到MySQL。经过几个小时的功夫,我能够让asp.net核心项目正确地部署到mysql的所有迁移。现在我需要迁移现有mssql表中的数据。我看到一些帖子提到MySQL迁移工具包,但这似乎很旧。还尝试使用MySQL Workbench和DBLoad的数据加载器来实现这一点,但没有任何运气

表结构非常简单,使用增量整数键+asp.net核心标识框架(GUID)的常见垃圾。只需要在迁移过程中保持一致。在MySQL中设置了表结构之后,迁移数据的最佳方式是什么?如有任何建议,将不胜感激

更新:更多详细信息。。。 我尝试使用MySQL工作台和DBLoader将数据库从MSSQL直接迁移到MySQL。但是在ASP.net身份表上失败了—大时间加上其他问题。net核心api在多个地方进行了大量转储,所以这个想法已经过时了

从那时起,我将api控制器迁移到mysql,然后不得不修复与mssql fks过长和其他一些问题相关的大量问题

因此,此时,控制器在mysql上工作。我只需要将所有数据转储到MySQL中,并保持FKs的一致性


我对此有一些想法,比如CSV导出>导入和/或尝试其他一些事情。有什么建议吗?

尝试了MySQL Workbench、DBLoad.com中的DBLoad等直接迁移数据,但都失败了

所以最终找到了一个“解决方案”

首先,我用以下内容修改了ASP.net核心项目:

        //services.AddDbContext<ApplicationDbContext>(options =>
        //    options.UseSqlServer(
        //        Configuration.GetConnectionString("DefaultConnection")));

        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseMySql(
                Configuration.GetConnectionString("DefaultConnection")));
在Notepad++中进行编辑后,我从文本文件中删除了所有集合、更改和创建相关内容,然后以顺序将所有插入行复制到MySQL Workbench中,以确保在插入表数据之前已填充外键。谢天谢地,这里没有要处理的存储过程!多痛啊

另外,该应用程序托管在Azure上。花了几个小时来解决API没有连接到数据库的问题。起初这并不明显,因为该应用程序是假的,向邮递员抛出了404错误。当我第一次尝试将API控制器连接到MySQL数据库时,我将数据库连接字符串输入到Azure的应用程序服务配置中。尽管在本地运行该应用程序效果良好,但它根本不起作用。最后在这个网站上找到了另一篇文章,提到要从App Service>Configuration窗口中删除数据库连接字符串。从那以后,他像冠军一样工作。所有带有自动递增键的数据都链接在一起,没有问题


我对结果非常满意,希望我再也不用经历这个过程了!知道一个应用程序现在运行在一个完全开放源代码的基础设施上总是一种很好的感觉。希望这对别人有帮助。祝您好运。

您可以使用SqlServer Management Studio内置的数据导出向导(任务->导出数据)
或者使用软件包迁移数据。

在microsoft服务器上添加链接到mysql。在mssql框上需要mysql工作台或mysql odbc驱动程序。在此之后,生成脚本以通过linkserver填充数据。这不是一个快速的过程。如果您需要快速的解决方案,可以使用informatica、aws dms、ApacheSqoop和Ssis等解决方案
GO -> blank
[dbo]. -> blank
[ -> blank
] -> blank
)\r\n -> );\r\n
\r\n' -> '
DateTime2 -> DATETIME