我正在开发一个必须支持(当前)MS Access 和 SQL Server 后端的桌面应用程序。该应用程序正在不断开发中,并且经常对数据库进行更改,主要是添加表和视图以支持新功能(还有一些 DROP 和 ALTER TABLE 以添加新列)。
我有一个将 DDL 编译成可执行文件的系统,检查数据库以查看可执行文件是否有任何必须执行的新 DDL,然后执行它。这适用于单个数据库。
我的直接问题是 SQL Server 和 Access 支持非常不同的数据类型名称,因此针对 Access 执行的 CREATE TABLE 语句不会针对 SQL Server 执行(或更糟的是,将执行但创建具有不同数据类型的表)。
有没有一种方法可以用来创建可以通过 ADO 对这两个数据库执行的 DDL(尤其是 CREATE TABLE 命令),而不必为每个提供者制作单独的 DDL?