通过 SSIS 创建和复制访问表到 SQL? SQL 2008

Posted

技术标签:

【中文标题】通过 SSIS 创建和复制访问表到 SQL? SQL 2008【英文标题】:Create & Copy Access tables to SQL via SSIS? SQL 2008 【发布时间】:2009-02-02 18:35:00 【问题描述】:

我正在尝试想出一种方法来将表从 Access 数据库中拉出,自动在 SQL 2008 DB 中创建相同的表,并将数据移动到新表中。这个过程会定期发生,每次可能会有不同的表。

我想完全在 SSIS 中完成这项工作。

C# SQL CLR 对象是一个选项。

我遇到的主要问题是如何获取 Access 表的架构,然后将其转换为我可以通过 SSIS 运行的 SQL 脚本。

有什么想法吗?

TIA J

【问题讨论】:

您是否有任何理由不想使用 MS Access 的导出菜单项,或者使用“DoCmd.TransferDatabase transfertype”在 VBA 中编写脚本? 【参考方案1】:

SSIS 无法在运行时适应新表。 (您可以更改连接,将源移动到具有不同名称但架构相同的表)因此,我认为您所说的操作并不容易:将 Access DB 中的任意一组表升级为 SQL(镜像它们的结构和数据、命名等),这样我就可以编写一些直接的 SQL 来将数据转换到另一个 SQL 数据库或数据库的同一部分。

您可以从 C# 访问 SSIS 对象模型并以编程方式构建包(或修改模板包),然后执行它。这可能会物有所值,但 SSIS 对象模型有点深。 SSIS 团队博客有 finally started putting up examples(一年后我不得不自己解决很多问题)

总是有升迁向导,而且我确信有一些第三方工具。

【讨论】:

以上是关于通过 SSIS 创建和复制访问表到 SQL? SQL 2008的主要内容,如果未能解决你的问题,请参考以下文章

复制ms访问单个大表到sql server两张小表

创建 SSIS 包 - 将数据从 Oracle 复制到 SQL Server

使用 SQL Server Integration Services (SSIS) 加载数据、键和索引

什么 Oracle 数据类型可以通过 SSIS 在 SQL 中轻松转换为 BIT?

SQL 表到 MDB (SQL 2005)

如何复制一个表到另一个数据库中