SSIS能否很好地导入到多个表?

时间:2011-07-07 21:36:27

标签: sql sql-server-2008 ms-access import ssis

直到明天我才能访问SSIS所以我认为在开始这个项目之前我会征求意见。

我们目前使用Access来存储我们的数据。它没有以关系格式存储,所以它是一个可怕的混乱。我们想要迁移到一个集中式数据库(SQL Server 2008 R2),这需要重写我们的大部分代码库(顺便说一下,这也是一个非常糟糕的混乱。)由于时间限制,在此之前我们就可以了需要设置一个集中式数据库,仅用于为客户端生成按需报告。因此,我们的应用程序仍将在Access上运行。而不是:

接收数据 - >使用一个表导入到Access初始文件 - >数据处理 - >使用一个表访问结果文件 - >报告生成

目标是:

接收数据 - >使用一个表导入到Access初始文件 - >将初始数据导入SQL Server中的多个表 - >使用一个表导出访问工作文件 - >数据处理 - >访问结果文件 - >将结果导入SQL Server中的多个表 - >

时报告生成

我们将使用SSRS作为报告组件,这看起来很简单。我不确定SSIS是否能够很好地将Access数据拆分成多个表,或者是否应该将所有内容导入带有SSIS的临时表,然后使用存储过程拆分,或者如果我需要写入一个独立的应用程序。

之前没有对SQL Server做过多少工作,所以任何建议都表示赞赏。

2 个答案:

答案 0 :(得分:1)

在SSIS包中,您可以编写代码(例如C#)来进行自己的/自定义数据转换。但是,SSIS内置的转换可能有助于满足您的需求。 SSIS非常强大和灵活。实际上,您可以使用SSIS中的数据执行任何您想要的操作。 您的任务的高级工作流程可能如下所示: 1.连接到数据源并提取数据 2.转换数据 3.将数据输出到目标数据源

答案 1 :(得分:1)

您当然可以将数据流拆分为两个独立的分支,并将其发送到两个目的地。您需要做的就是在数据流中进行多播,然后大部分转换将在此之后发生。

然而,从您所说的,更好的解决方案可能是将Access表用作临时数据库,然后从那里获取数据并将其发送到SQL Server。这意味着两个数据流,但它将是一个更清洁的实现。