首页 文章

并行加载临时表

提问于
浏览
0

我通过执行SQL任务(从远程服务器选择*到x)将数据从一个SQL Server A加载到临时表,并与数据流中的另一个远程SQL Server B连接 .

所以我在数据流中有两个来源:

1.包含SQL Server A日期的本地临时表(在上一个任务中加载)

2.远程SQL Server B上的表

为了实现它,我改变了“RetainSameConnection”连接管理器属性(我使用它将数据从SQL Server A提取到本地机器(SSIS服务器)为TRUE . 它可以工作,但我无法并行加载这些任务,因为我得到:

S [[209]]错误:SSIS错误代码DTS_E_OLEDBERROR . 发生OLE DB错误 . 错误代码:0x80040E14 . OLE DB记录可用 . 来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80040E14描述:“语句无法准备 . ” . OLE DB记录可用 . 来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80040E14描述:“无效的对象名称'## V_DEL' . ” . [SSIS.Pipeline]错误:“S”验证失败并返回验证状态“VS_ISBROKEN” .

怎么解决?

1 回答

  • 2

    如果您使用RetainConnection = True,那么一次只有一个对象可以保留连接 . 这意味着如果2个sql任务并行运行,那么只有1个将使用保留的连接 . 类似于您无法查找和具有相同保留连接的dest的问题 . 唯一的解决方法是序列化SQL调用 .

相关问题