3

我们不需要多用户。只是关系。我们的应用目前使用 Access,但 Access 并不完全是零管理,因为它容易损坏。

SQLite 是坚如磐石、坚如磐石、纯零管理的吗?

或者...有没有办法将 SQL Server 配置为桌面引擎,使其成为纯零管理员?

或者......还有其他一些关系选择吗?

我们使用 ADO 作为与 Access 对话的层,因此切换到 SQL Server 并不难,但我的理解是我无法将 ADO 用于 SQLite,因此切换到 SQLite 需要大量重写。是对的吗?

4

5 回答 5

6

其他数据库可能比 Access 更稳定,但我不知道有什么比 Access 更容易使用,而且最终用户也很容易理解。Access(如 SourceSafe)总是被称为“容易腐败”,但很少有第一手资料。大多数人“在某处读过它”。

如果您担心损坏,请考虑在您的应用程序中包含一个备份例程,以保留 Access 数据库的最后两个或三个副本。

如果您坚持其他内容,请尝试 SQL Server Compact Edition(正如其他人所建议的那样),它(如 Access)只是一个文件,在这种情况下是一个 .sdf 文件和一些 DLL。与 SQL Server Express Edition 不同,SQL Server CE 不会让后台进程一直运行。

于 2008-10-24T15:24:45.837 回答
2

另一种选择是嵌入式 Firebird。

于 2008-10-24T15:04:35.360 回答
1

最简单的转换是使用 SQL Server 精简版,它可以嵌入到您的应用程序中,并且根据我所做的一些轻量级测试,它工作得非常好。

转到 SQL lite 将需要对 DAL 进行更多修改。

现在请注意,SQL Compact Edition 不支持存储过程!(应该没什么大不了,但一定要研究差异)

于 2008-10-24T15:06:14.593 回答
1

SQLite有ADO.NET 包装器,不确定这是您想要的还是直接的 ADO。我发现 SQLite 非常健壮,尽管您确实需要不时对数据库进行 VACUUM 以在删除后恢复未使用的空间。你可以从你的代码中做到这一点,所以这不是真正的管理。我只是在启动或关闭时执行此操作。

我同意其他人对 SQL Express Edition 的看法。我将它用于多个应用程序。

如果您正在使用 .NET,那么您可能希望查看Subsonic以进行数据访问。它支持以上所有以及更多功能,并且使切换变得相当轻松。对于单用户数据库应用程序,这很棒。如果您要进行重写,那么这是值得的。

于 2008-10-24T15:18:31.043 回答
0

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

于 2008-10-24T15:02:23.447 回答