我将构建一组应用程序。其中一个应用程序是无人值守的应用程序(用VB6编写),它将从各种源接收的数据写入本地数据库。所有其他应用程序(将在VS 2008 / c#3.0中编写)将主要用于报告原因来读取此数据。
我不想要SQL Server / MySql / Sybase甚至是它的快速版本,因为分发它是一个问题(例如需要单独安装等等)。我正在寻找一个本地数据库,其中包含VB6的驱动程序(所以可能是OLEDB,或ODBC,如果我必须解决它)和ADO.NET。如果数据库支持ORM,如NHibernate或至少1对1的映射器,如Subsonic,这也不错,但这不是一个交易破坏者。但我的主要要求是数据库应该非常可靠,这样我就不必浪费时间摆弄它,恢复丢失的数据等......
我从当天回来就有MS Access的经验,没有太多好的回忆(也不是很糟糕)。我听说过SQLite,SQL Server Compact Edition,VistaDB等......但对它们没有经验,我不知道有谁实际使用过它。
最符合我情况的是什么?
答案 0 :(得分:9)
SQLite可能符合要求。确保你check out all the available wrappers。
答案 1 :(得分:8)
您是否想过FireBird SQL?
答案 2 :(得分:3)
除非数据库,否则我建议使用SQLite。我有使用它的经验,而且我和你一样。 System.Data.Sqlite项目非常好,它们支持ADO.net 2.0和所有这些功能。他们目前正致力于在包装器上获得完整的Linq支持。我推荐它的原因如下。
在此处检查System.Data.Sqlite项目http://sqlite.phxsoftware.com/
答案 3 :(得分:3)
查看Advantage Database Server。它具有静默安装选项,占地面积小,易于维护。它有很多客户端支持:ODBC,OLE DB,.net数据提供程序,jdbc,dbi,php等。免费本地引擎(只是一个与您的应用程序在进程中运行的DLL),廉价的客户端/服务器,SQL和直接导航表访问。
答案 4 :(得分:2)
SQL Server Compact Edition是进程内的,所以没有什么是单独安装的。
答案 5 :(得分:1)
答案 6 :(得分:1)
我可以担保VistaDB。您可能想要查看的另一个数据库是Blackfish
答案 7 :(得分:1)
可以将SQL Server用作直接连接到数据库文件的本地数据库。但是这需要你安装sql server express。
使用成员资格提供程序查看ASP.Net的默认设置。它将为网站创建一个基于本地文件的数据库。
使用这种方法你可能没问题,因为你可以在开发时使用所有熟悉的工具。
编辑:
我刚注意到嵌入式标签。如果要在Windows CE设备上运行该应用程序,可以选择SQL Server Compact。它不支持存储过程AFAIK,但它确实支持SQL Server的大多数其他功能。
答案 8 :(得分:1)
SQLite的影响非常小,编写得非常好。它非常适合本地客户端数据库
答案 9 :(得分:1)
其他人在SQLite.net ADO.net提供程序中提到的SQLite,可以轻松访问.NET。
答案 10 :(得分:1)
我已经使用过ScimoreDB,并为我的应用程序编写了log4net的appender。结果好坏参半,并且花了很多时间试图通过文档来根据需要开展工作。
我正在向SqlLite转移,并且有一个关于使用SubSonic和SqlLite的链接。