2012-07-30 63 views
1

我想使用SSIS将数据从tableA传输到tableB。这些表位于相同的服务器和数据库中,我使用的是OLEDB源和OLEDB目标。但它不写入任何行,并且没有错误报告。 如果我将OLEDB源更改为从具有相同数据库名称的不同服务器读取它的作品。我如何重新创建SSIS包?所有帮助赞赏。在同一个数据库中将数据从一个表传输到另一个表SSIS

+0

在源组件后使用数据查看器,查看您是否正在获取任何行或者是否使用sql profiler,然后运行ssis pkg。查看正在使用什么查询插入行 – praveen 2012-07-30 10:56:23

+0

如果在数据中使用了相同的查询在连接管理器B上有行但不在A上的源,这意味着支持服务器A上的查询的数据不存在。换句话说,你的账户只在stackoverflow.com上定义如果我在dba.stackexchange上运行一个查询你的账户的查询,我会发现没有结果。同样的查询在这里运行会找到你的帐户。你的任务是发现**为什么**这是如此。也许ID在不同环境中有所不同。也许业务流程X没有运行。也许在服务器B(或A)上手动创建了特殊情况。 – billinkc 2012-07-30 13:57:50

回答

0

尝试使用ADO.NET源代码而不是OLEDB。 如果这些表位于相同的服务器和数据库中,则不会有问题。

创建一个执行SQL任务,它将截断目标表。 创建数据流任务,并在任务内创建ADO.NET源和目标。 如果您尚未创建软件包之前:

你也可以ImportExportTool创建SSIS包这样的: SSIS Tutorial,并检查保存SSIS包复选框。 工具创建包后,您可以在Visual Studio中打开它并对其进行修改。 该软件包将包含OLEDB源和目标。它应该工作。

数据转换组件对于几个问题非常有用。

+0

不适用于使用ADO.NET或者 – MaxI 2012-07-30 11:02:33

+0

并使用importexport工具创建的包? – speti43 2012-07-30 11:41:08

+0

尝试使用导入导出工具传输数据,而不保存SSIS。它成功了吗? – speti43 2012-07-30 12:03:41

相关问题