MySql 到 SQL Server(MSSQL)

我用 MySql 2年了,一直都是 asp.net + MySql 开发

为什么不用 MSSQL呢?

原因 :

在我的国家,几乎找不到任何一间托管公司有提供 SQL SERVER 的,有的话也是 2005 年的版本,不然就是非常高的价钱。

我觉得很奇怪,为什么美国的托管公司也是 asp + mssql 但是价钱却差那么远呢。

一直到近期的项目,这2个不同公司的产品兼容问题越来越大,所以呢,我决定放弃MySql了。

这次的导火线要从一个bug说起了.

https://bugs.mysql.com/bug.php?id=74918

https://bugs.mysql.com/bug.php?id=72058

http://bugs.mysql.com/bug.php?id=70722

目前我用的是 6.9.5的版本connector,有个bug,官网说 6.9.6 会fix , 那么我只好退用 6.9.4 , 因为这个bug是6.9.5才出现的。

怎么知道6.9.4也遇到了一个bug,说 6.9.5 会fix .

这进退两难的情况让我非常火大。

常年以来 connector 是没什么问题,一直到我开始使用 Entity Framework 和 Web API. (所以如果你没有使用的话,还是挺好的)

MySql 还有一个困扰我的问题就是不支持 DateTimeOffset (这比DateTime好很多) , 还有 TimeSpan (rowVersion , 乐观并发长用到的)

替换的过程并不复杂。

1. web config 关于 mysql 的都可以去掉了.

2. mysql 的乐观并发是用 timespan + DateTime 完成的, mssql 是 timespan + byte

3. mssql datetimeoffset 支持在 insert 的时候又 sql 自动填入当前时间 , 这个在 mysql 也是不可以的 (5.6我不情况是否可以, 我用的是5.1)

4. mssql 的 last modified datetime 必须写 trigger 来完成 , mysql 只要用 timespan 就可以了 .

大至少就这样。

那么 mssql 和 mysql 的功能其实差不多,都是数据库吗,该有的都有。

不过引擎和优化就比较不同了(那天先 explain 看一下语句 结果..= ="),这个我一时也没法学,反正大都用 EF 生产语句,以后才研究吧。

我从前关于 MySql + asp.net 的文章,两者的区别我以后都会更新上去,如果你和我有同样的遭遇希望可以帮到你 ^^

时间: 2024-10-04 00:54:03

MySql 到 SQL Server(MSSQL)的相关文章

Oracle、MySql、Sql Server比对

1.    价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你能够遵循GPL协议免费使用MySQL.否则,你须要购买MySQLAB制定的那个商业许可协议.Windows $200,Unix或Linux自行安装免费,.Unix或Linux第三方安装$200. Sql Server:适中. SQL 2008 标准版:[1CPU 无限用户 R2 版

整理部分java代码和oracle,mysql,sql server对比数据类型

搜索了一下网上关于数据类型的对比,几乎没有三种数据库的对比,我就写了一些字段的对比,如果有不对的地方,请各位不吝指教. JAVA字段 oracle字段 mysql字段 sql server字段 int number int int java.lang.double number(p,s) double float java.lang.String varchar2 varchar varchar java.sql.Date date date ( year) datetime2 java.sql

Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。

Microsoft Access.MySQL 以及 SQL Server 所使用的数据类型和范围. Microsoft Access 数据类型 数据类型 描述 存储 Text 用于文本或文本与数字的组合.最多 255 个字符.   Memo Memo 用于更大数量的文本.最多存储 65,536 个字符. 注释:无法对 memo 字段进行排序.不过它们是可搜索的.   Byte 允许 0 到 255 的数字. 1 字节 Integer 允许介于 -32,768 到 32,767 之间的数字. 2

浅谈mysql和sql server的区别

对于程序开发人员而言,目前使用最流行的两种后台数据库即为MySQL and SQL Server.这两者最基本的相似之处在于数据存储和属于查询系统.你可以使用SQL来访问这两种数据库的数据,因为它们都支持ANSI-SQL.还有,这两种数据库系统都支持二进制关键词和关键索引,这就大大地加快了查询速度.同时,二者也都提供支持XML的各种格式.除了在显而易见的软件价格上的区别之外,这两个产品还有什么明显的区别吗?在这二者之间你是如何选择的?让我们看看这两个产品的主要的不同之处,包括发行费用,性能以及它

SQL数据类型对比之access,mysql,sql server

Microsoft Access.MySQL 以及 SQL Server 所使用的数据类型和范围,详见W3School,http://www.w3school.com.cn/sql/sql_datatypes.asp SQL数据类型对比之access,mysql,sql server

sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'。数据库 'my1' 正在使用该文件的解决方案

对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'.数据库 'my1' 正在使用该文件”的问题. 产生原因:对一个数据库备份文件在两个数据库中进行还原时,这个问题的出现主要是因为还原第一个数据库和第二个数据库的名称是一样的,而且在第二个数据库还原时的物理路径时选的路径和第一个数据库还原路径一样. 解决方案:

MySQL 和 SQL Server一丝比较

以下SQL Server和MySQL中出现的test均为表(特殊说明除外) 1.查看表创建的脚本 SQL Server: MySQL: show create table test; 2.查看表结构 SQL Server sp_columns test; 或 sp_help test; MySQL: show columns in test: 或 desc test; 3.查看数据库中有哪些表 SQL Server: select name from sysobjects where xtype

比较MySQL 与SQL server

MySQL 和SQL server 都是后台数据库管理软件,都比较常用. SQL server 多用于对某平台数据库的管理,数据的操作,比如财务系统数据等的录入.操作. MySQL的图形化用户界面是SQLyog,它常用于后端中数据库的搭建,多站点多用户读取数据库数据常用其搭建. 因此,对于后端开发来说,熟悉SQLyog更重要. 原文地址:https://www.cnblogs.com/beautypatty/p/12536504.html

java实体属性对应mysql和SQL Server 和Oracle 数据类型对应

1:Java数据类型与MySql数据类型对照表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 BLOB L+N BLOB java.lang.byte[] -4 TEXT 65535 VARCHAR java.lang.String -1 INTEGER 4 INTEGER UNSIGNED java.lang.Long 4 T