gpt4 book ai didi

sql-server - 跨不同 SQL 数据库兼容的 DDL(CREATE TABLE)?

转载 作者:行者123 更新时间:2023-12-03 15:24:23 25 4
gpt4 key购买 nike

我正在开发一个必须支持(当前)MS Access 和 SQL Server 后端的桌面应用程序。该应用程序正在不断开发,并且经常对数据库进行更改,主要是添加表和 View 以支持新功能(但也有一些 DROP 和 ALTER TABLE 来添加新列)。

我有一个系统,它将 DDL 编译为可执行文件,检查数据库以查看可执行文件是否有任何必须执行的新 DDL,然后执行它。这对于单个数据库来说效果很好。

我面临的直接问题是 SQL Server 和 Access 支持截然不同的数据类型名称,因此针对 Access 执行的 CREATE TABLE 语句不会针对 SQL Server 执行(或更糟糕的是,会执行但会创建具有不同数据类型的表)。

是否有一种方法可用于创建 DDL(尤其是 CREATE TABLE 命令),可以通过 ADO 针对这两个数据库执行该 DDL,而无需为每个提供程序制作单独的 DDL?

最佳答案

由于您已经在使用 ADO,因此您应该查看 Microsoft ADOX

这允许您使用独立于基础数据源类型的 ADO 对象模型来操作数据源中的结构。即不诉诸显式 DDL

任何给定的 ADO 提供商均不保证对 ADOX 的支持,即使 ADOX 支持的级别可用,也可能会有所不同。但对于 MS Access 和 MS SQL Server,我认为您会找到所需的所有功能(甚至可能更多!)

关于sql-server - 跨不同 SQL 数据库兼容的 DDL(CREATE TABLE)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4727799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com