我正在研究从SQL Server迁移是否可行。为了帮助我做出这个决定,我有一些问题:
是否可以在MySQL服务器上使用asp.net成员资格?
是否有许多/任何有用的工具来迁移表/数据库/等等哪些是最好的?
从SQL Server迁移到MySQL有哪些主要缺点?
目前我有一个足够大的项目,但它没有利用许多MS功能,所以如果有可能我想移动。
答案 0 :(得分:1)
我的公司几年前做了一个非常大的项目。对我们来说更容易的事情是我们大多使用非常简单的标准兼容SQL。没有Linq,没有实体框架,只有一点T-SQL,只有少数存储过程。
至于将数据导入MySQL,我们最终创建了自己的工具来实现这一目标。包括“MySQL迁移助手”在内的任何现有东西都不能完全发挥作用。一旦您可以在MySQL上重新创建架构,重新获取数据就可以导出为CSV并使用LOAD DATA INFILE导入。转移架构实际上是最难的部分。有这么多表,我们不能手工完成。我们在.Net中编写了一些代码,开始使用我们找到的this VBScript,并将其升级为使用.Net中可用的“Microsoft.SqlServer.Management”命名空间中的工具。
对于SQL Server中存在但在MySQL中不存在的函数,例如GetDate,在MySQL中编写自己的函数很容易映射到这些函数,而不是试图找到这些函数的所有实例。代码。 MySQL和SQL Server之间存在相当多的语法差异,即使只使用基本SQL也是如此。例如,MSSQL允许DELETE TABLENAME WHERE ....,但MySQL坚持你使用DELETE FROM TABLENAME WHERE .....这只是一个,还有很多其他差异。
无论如何,这是一次冒险,但对我们来说效果很好。它是可行的,但你必须承诺,而不是害怕编写自己的迁移工具。
答案 1 :(得分:1)
我的头脑中有很多东西。
MySQL不支持CHECK约束。通常,如果您的dbms 支持CHECK约束,那么您的表将使用它们。
根据约束条件,您可以通过以下方式之一重写它。
MySQL的时间戳分辨率为1秒。
答案 2 :(得分:0)
Microsoft有一个SQL Server迁移助手,但很自然地,它旨在帮助用户向另一个方向移动。
你可能想从MySQL网站查看这份白皮书(你需要注册 - 我没有,所以我不知道这篇文章与你已经拥有的知识相比有多大价值):
http://www.mysql.com/why-mysql/white-papers/mysql_wp_mssql2mysql.php
还有一些产品和指南可以通过相当简单的搜索找到,例如
http://www.spectralcore.com/fullconvert/tutorials/convert-mssql-sql-server-to-mysql.php
http://www.haidongji.com/2009/02/23/moving-data-from-sql-server-to-mysql/
我不知道ASP.NET成员资格可以直接移植到MySQL,但我相信你可以复制它的功能(更多的是它将花费多少努力的问题,而不是它是否可能)。