【问题标题】:Keeping database structure compatible between MS-Access and SQL Server保持 MS-Access 和 SQL Server 之间的数据库结构兼容
【发布时间】:2009-11-30 12:22:33
【问题描述】:

我正在处理一个遗留项目,在升级到 Delphi 2007 之前大部分是在 Delphi 5 中编写的。这次升级之后发生了很多变化,除了下面的数据库。它仍然使用 MS-Access 进行数据存储。

现在我们希望支持 SQL Server 作为备用数据库。尽管多用户支持将成为未来的一项功能,但仍仅适用于单用户情况。虽然在需要使用不同的数据库时不会出现很多迁移问题(见下文),但保持两个数据库结构同步是一个问题。

如果我要创建一个 SQL 脚本来生成 SQL Server 数据库,那么我需要第二个脚本来保持 Access 数据库是最新的。他们说的不是同一种方言。 (至少,不是为了我们的目的。)所以我需要一种方法来以简单的方式维护数据库结构,确保它可以生成有效的 SQL Server 数据库作为 Access 数据库。我可以编写自己的工具,将数据库结构存储在 XML 文件中,结合一些智能代码,ADOX 将生成这两种数据库类型。

但不是已经有一个很好的工具可以做到这一点吗?


注意:应用程序也使用 ADO,所有查询都只是简单的选择语句。虽然它有 50 多个表,但有一个根“文档”表,用户选择此表中的“文档”之一。然后它从与该文档记录相关的所有表中收集所有记录,并将它们存储在内存结构中。当用户保存数据时,它只是将文档记录和所有更改的数据再次写回数据库。基本上,文档的这种读/写机制是整个应用程序中唯一的数据库交互。所以使用不同的数据库不是什么大问题。

我们将来会放弃 MS-Access 数据库,但目前我们有 4000 名客户在使用此应用程序。我们首先需要确保整个事情与 SQL Server 一起工作,我们需要继续维护当前代码。因此,我们将不得不支持这两个数据库至少一年。

【问题讨论】:

    标签: sql sql-server ms-access


    【解决方案1】:

    看看DB Explorer,也有试用下载。

    1. 使用从 MS Access 到 SQL Server 的迁移向导
    2. 在 Access 中开发(架构更改)后,再次使用向导。
    3. 使用工具来比较 SQL Server 架构。

    【讨论】:

    • 我们实际上希望避免开发人员在 Access 或 SQL Server 中进行更改。过去的经验表明,这会导致我们忘记同步更改的许多错误。
    • 在这种情况下,db Explorer 就可以了。它涵盖了 SQL Server、Access 等等。它可以比较和记录模式。使用 MS 迁移向导转换为 SQL Server,文档“参考版本”,只需将 Access 与 Access 和 SQL Server 与 SQL Server 进行比较。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多