如何使用SSIS包将MS Access数据导入SQL Server?

时间:2011-07-15 15:44:15

标签: ssis

我花了一天的时间来寻找任何可以帮助我的东西,但SSIS是一个巨大的工具,到目前为止没有任何用处,或者我可能只是不理解它

我需要使用一个有一些问题的旧Access数据库并将其移动到SQL服务器中。我已经在我的SQL数据库中设置了架构。需要修复旧数据,例如规范化和删除重复项。我的老板坚持使用SSIS来完成这项工作,因为我们需要有人知道如何使用它,目前几乎没有人(一位经理很久以前就使用过它)。

所以,我在BDIS或视觉工作室设置了一个项目,或者这个应用实际上是什么。我创建了一个连接管理器到我的Access数据库,我设法将OLE DB源拖到设计器上并将其设置为连接到该数据库。我还想到我可以从那里选择数据。

现在怎样?我真的更喜欢有一种方法来编写一个巨大的SQL脚本来从Access数据库获取我需要的所有数据,将其转换为我想要的,并将其推送到SQL服务器数据库中。但看起来我需要在设计器中使用所有这些时髦的转换工具。我也无法弄清楚如何将结果数据导入SQL服务器。我在“服务器资源管理器”窗格中设置了连接,但在线的每个人都说从不使用SQL Server目标。所以我也在那里迷失了。

我的老板说Books Online帮助文件非常有用。到目前为止,它就像在大海淹没的大海捞针中找到一根针,其上有三座城堡。信息太多了,对我来说似乎没什么用。

修改

希望更多信息有用。我认为SSIS附带的向导对我想要的东西不够强大,所以如果它们是,你必须请解释它。这是我必须要做的一个例子,除了我的现实是有更多变换的表。

假设我有一个如下所示的源表:

Companies
====================================================
| Name    | Address    | WidgetOne   | WidgetTwo   |
|--------------------------------------------------|
| ACME    | 123 etc.   | Trampoline  | Cannon      |
====================================================

我需要将其标准化为两个表。显然,它必须跟踪ID,以便小部件与正确的公司相关联。如果您可以帮助一个关于如何使用SSIS处理此案例的示例,从Access到SQL服务器,那么我可以从那里获取它。谢谢!

2 个答案:

答案 0 :(得分:32)

答案 1 :(得分:1)

这可能会有所帮助:

  1. 您需要连接2来源和desination数据库。听起来你已经拥有了你的资源。

  2. 您需要在“控制流”标签中输入数据流任务。拖动其中一个并双击cli ck - 您将进入“数据流”选项卡。

  3. 这里添加一个'数据源'(听起来你已经这么做了),还添加了一个'OLE DB Destination'。

  4. 双击您的来源。你应该能够指定连接(再次看起来你已经这样做了),

  5. '数据访问模式'指定您希望如何检索数据。即直接从表,或写一个返回数据的查询

  6. 如果它是到目的地的直接一对一映射,您应该能够用绿线连接两者(预先约束)。

  7. 如果你想进行任何转换,那么你可以在关于soruce的查询中这样做,或者在源和目标之间放置一个转换对象并按照它们连接它们。