保持MS-Access和SQL Server之间的数据库结构兼容

时间:2009-11-30 12:22:34

标签: sql sql-server ms-access

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

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

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

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


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

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

1 个答案:

答案 0 :(得分:1)

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

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