前几天有人问我,我想不出一个好答案。平台的可移植性与项目完全无关。

实际上,Jet具有SQLite所没有的一些功能,即外键。

那么,谁能想到为什么应该使用SQLite代替Jet数据库呢?

最佳答案

与其他人的说法相反,Jet并没有离它很远:ACE是Jet的新版本,它非常强大并且向后兼容。

SQLite和Jet / ACE都有其优点和缺点,您需要获取有关对您和您的应用程序重要的特定点的更多信息。

  • 在任何一种情况下,您都可以重新分发引擎。
  • Jet / ACE在MS工具和Visual Studio中具有更强的集成和支持。
  • Jet / ACE具有更精细的锁定,如果您的应用程序允许多用户或需要对数据库进行多线程访问,则这可能很重要。
  • Jet / ACE在数据库方面具有更多功能(联接,联合和复杂查询)。
  • Jet / ACE具有到SQL Server的简单迁移路径,因此,如果您的数据库需求很大,则可以相当轻松地迁移到SQL Server。
  • SQLite是跨平台的,因此如果您的应用程序需要在Mono下移植到Linux / Mac,则SQLite是更好的选择。
  • SQLite引擎更紧密,因此重新分发可能更容易。
  • 在SQLite中,
  • 数据类型相当宽松。
  • SQLite具有更自由的重新分配权限(因为您基本上可以使用它进行任何操作)。

  • 那些说Jet破坏数据库的人陷于1995年。

    最后,除非您的应用程序有一些非常具体的要求正在 push 任一数据库引擎的发展,否则选择哪一个都无关紧要。
    只需使用最容易包含在项目中的一种即可。

    关于ms-access - 为什么要在Jet数据库上使用SQLite,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/506136/

    10-12 01:50