我正在开发一个桌面应用程序,必须支持(目前)MS Access和SQL Server后端。该应用程序在不断开发中,数据库经常进行更改,主要是添加表和视图以支持新功能(但也包括一些DROPs和ALTER TABLEs以添加新列)。
我有一个系统,可以将DDL编译到可执行文件中,检查数据库以查看可执行文件是否有任何必须执行的新DDL,并执行它。这对于单个数据库很有效。
我目前的问题是,SQL Server和Access支持非常不同的数据类型名称,因此针对Access执行的CREATE TABLE语句将无法针对SQL Server执行(或更糟糕的是,将执行但创建具有不同数据类型的表)。
是否有一种方法可以创建DDL(特别是CREATE TABLE命令),可以通过ADO针对这两个数据库执行,而无需为每个提供程序制定单独的DDL?