什么是Windows桌面应用程序的最佳零(接近零?)pipe理关系数据库:Access,SQLite,SQL Server,其他?

我们不需要多用户。 只是关系。 我们的应用程序目前使用Access,但访问不完全是零pipe理,因为它容易腐败。

SQLite是摇滚,坚实,纯粹的零pipe理?

或者…有没有办法将SQL Serverconfiguration为桌面引擎,以便它是纯粹的零pipe理?

或者…还有其他的关系select吗?

我们使用ADO作为与Access对话的层次,所以切换到SQL Server并不难,但是我的理解是我不能使用SQLite的ADO,所以切换到SQLite需要大量的重写。 是对的吗?

其他数据库可能比Access更稳定,但我不知道任何易于使用的内容,并且最终用户也很容易理解。 访问(如SourceSafe)总是被称为“容易腐败”,但很少有远在这是第一手的帐户。 大多数人“在某处阅读”。

考虑只包括一个备份例程与您的应用程序保持最后两个或三个Access数据库的副本,如果你担心腐败。

如果你坚持要别的东西,那么试试SQL server Compact Edition(就像其他人所建议的那样),其中(像Access一样)只是一个文件,在这种情况下是一个.sdf文件,还有一些DLL文件。 与SQL server速成版不同,SQL server CE不会一直运行后台进程。

另一种选择是嵌入Firebird。

最简单的开关就是使用SQL server精简版,它可以嵌入到你的应用程序中,并且通过我已经完成的一些轻量测试,它可以很好地工作。

去SQL精简版将需要更多的DAL修改。

现在请注意,SQL精简版不支持存储过程! (不应该是一个大问题,但一定要研究差异)

有SQLite的ADO.NET包装 ,不知道如果这是你想要的或只是直的ADO。 我发现SQLite是非常健壮的,虽然你需要真空数据库时不时删除后恢复未使用的空间。 你可以从你的代码中做到这一点,所以这不是真正的管理。 我只是在启动或关机时执行此操作。

我同意其他人对SQL Express Edition的意见。 我用它几个应用程序。

如果你正在使用.NET,那么你可能想看看Subsonic为你的数据访问。 它支持所有以上和更多,使切换相当轻松。 对于单用户数据库应用程序,这是非常好的。 如果你打算重写,那么这是值得的。

由于您正在考虑不需要多用户,您可能需要查看SQL server Compact Edition。 http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx