创建嵌入式mysql数据库

如何使用C#创建嵌入式mysql数据库?

  1. 定义“嵌入式”

  2. 如果你在没有安装MySQL的情况下尝试使用MySQL,那你就不走运了。 SQLite和SQL Server Compact Edition(请参阅Matthew的链接)是您在不安装服务器的情况下使用数据库的唯一选择。

“嵌入式服务器库基于MySQL的客户端/服务器版本,它是用C / C ++编写的。因此,嵌入式服务器也是用C / C ++编写的。其他语言没有嵌入式服务器”

http://dev.mysql.com/doc/refman/5.0/en/libmysqld.html

我创建了一个嵌入SQLite和SQL Server CE的应用程序。 在这两个中,我发现SQLite更容易实现,并且不需要独立安装才能正常工作。

我发现SQL Server CE在处理数据的基本function方面非常有限,并且不允许我在C#中实现缺少的用户定义函数。 另一方面,SQLite提供了更丰富的开箱即用function。 它还允许我在C#中实现我想要的任何UDF。 结果是实现我的应用程序要容易得多。

我使用SQLite的一个缺点是从SQL Server导入的数据类型的映射。 当输入只是整数时,SQLite总是将长值作为输出返回,在某些情况下,当实际值为float或double时,ADO提供程序的返回值是long值。 当数字类型首先为null或整数时,它并不总是很好,后来有效的双精度数和它应该没有的四舍五入。 在查询数据时我被迫实现显式双重表达式以防止舍入。

虽然两者都允许我存储数据并执行SQL但我发现SQL Server CE从function角度来看太有限了,最终我没有在最终结果中使用它。