I am working on a desktop application that should support (currently) MS Access and SQL Server. The application is constantly evolving, and changes are often made to the database, mainly adding tables and views to support new features (but also some DROP and ALTER TABLEs to add new columns).
I have a system that compiles DDL into an executable file, checks the database to see if the executable has any new DDL that needs to be executed, and executes it. This works fine for a single database.
My immediate problem is that SQL Server and Access support completely different names for data types, so the CREATE TABLE statement that runs against Access will not run against SQL Server (or, even worse, it will execute, but it will create a table with different types of data).
Is there a method that can be used to create DDLs (especially CREATE TABLE commands) that can be run through ADO for both of these databases, without having to create a separate DDL for each provider?
source share