Access 可以像 SQL Server 一样生成 CREATE TABLE 脚本代码吗?
Posted
技术标签:
【中文标题】Access 可以像 SQL Server 一样生成 CREATE TABLE 脚本代码吗?【英文标题】:Can Access generate CREATE TABLE script code like SQL Server can? 【发布时间】:2014-09-03 00:02:29 【问题描述】:我有一个包含数百个表的 MS Access 文件,我应该在运行时使用 C# 创建这些表。所以我应该生成一个脚本并在 C# 中使用该查询来创建表。 有没有办法让 MS Access 自动生成这个 SQL 脚本?
最好的问候
【问题讨论】:
Access 数据库只是一个文件,因此您实际上不需要运行 DDL 代码来创建表。您可以使用已经定义了空表(和关系)的数据库文件来分发您的应用程序。当它第一次运行时,您的应用程序可以将该文件复制到用户系统上的适当位置。 用户不应该看到空的访问文件,我可以在编译时将它放入我的应用程序吗? @EA 无论如何用户都会看到的。 你知道我只想在内存中创建一个访问文件,然后在内存中对其进行所有操作,然后我将通过电子邮件发送它,然后从内存中删除它 Access 数据库必须存在于文件系统某处中。您可以“在内存中创建访问文件”的唯一方法是在 RAM 驱动器上创建它,这(1)如今极为罕见,(2)无论如何都不能保证存在于用户的机器上。 【参考方案1】:不,Access 本身不能像 SQL Server 那样自动创建 DDL (CREATE TABLE ...) 代码。完全有可能某些第三方产品可能能够扫描 Access 数据库并为每个表编写 DDL 语句,但对此类第三方产品的建议在 Stack Overflow 上将是题外话。
此外,正如问题的 cmets 中所述,创建一个空的数据库文件,然后通过 DDL“从头开始”创建每个表对于 Access 数据库并不是真正必要的。由于 Access 数据库只是一个文件,因此您可以使用已包含空表(以及其他所需的数据库对象)的数据库文件来分发您的应用程序。
【讨论】:
生产数据库已经有生产数据,不能删除,需要运行迁移脚本【参考方案2】:您可以使用 SSIS 包来生成创建表命令。 启动一个新的 SSIS 包。为 Access 数据库添加连接管理器。 然后为 SQL Server 数据库添加连接管理器。 配置数据流任务时。选择 Access 数据库作为源,然后选择 SQL 服务器作为目标。当为目标选择表或视图时,点击 [New] 按钮,您将获得从 Access 表 DDL 转换为 MS SQL Server 的表创建脚本。
【讨论】:
以上是关于Access 可以像 SQL Server 一样生成 CREATE TABLE 脚本代码吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以将MS Access连接到SQL Server而不是特定的SQL Server数据库吗?
我可以像内置数据库一样使用我的桌面应用程序部署 SQL Server Express 吗?
如何像 sql server 一样在 h2 中使用 getDate()