2009-02-02 62 views
2

我试图想出一种方法将表从Access数据库中提取出来,在SQL 2008数据库中自动创建这些表,并将数据移动到新表中。这个过程将定期发生,每次可能有不同的表格。通过SSIS创建和复制访问表到SQL? SQL 2008

我想完全在SSIS中完成此操作。

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

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

任何想法?

TIA Ĵ

+0

是否有任何理由不想使用MS Access的导出菜单项,或使用“DoCmd.TransferDatabase transfertype”在VBA中编写脚本? – BIBD 2009-02-02 19:32:05

回答

3

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

您可以从C#访问SSIS对象模型并以编程方式构建包(或修改模板包),然后执行它。这可能会给你带来最好的回报,但SSIS对象模型有点深刻。 SSIS团队的博客有finally started putting up examples(一年后,我不得不为自己弄清楚这一点)

总是有升迁向导,我敢肯定有一些第三方工具。