sql-server - 通过存储过程游标/循环从数据流任务 (DTS) 中获取行集
问题描述
我对 DTS/DTSX 有点陌生,但据我所知,我无法找到解决这个问题所需的确切解决方案。这个答案很接近但不完全:
需要什么:目标文件任务在每次存储过程循环(光标)时写入一个文本文件并将新行集输出到临时表。为新传入行集删除的最后一个行集。整个操作是将一个巨大的文件拆分为多个可管理的文件。行集输出可以通过计数器更改,已经很好地工作了。
到目前为止:我已经在 Execute SQL 任务中存储了 proc 工作正常,它循环并加载所需的行集。问题是我无法让数据流 + 目标文件任务链在每个 proc 游标循环上写出文件,它只会写出 proc 中的最后一个行集。我认为在数据流任务周围放置一个 For-Each 任务包装器会起作用,但它是多余的,显然,For-Each 仍然等待存储的过程在执行 SQL 任务中完全完成,然后只写出最终的行集.
我基本上必须在每个游标循环上触发数据流/文件目标任务,或者以其他方式向数据流/文件目标任务发出信号以“查看”临时表中现在何时存在新行集,DF/FD 任务已清理文件写出后向上(删除)其先前的行集。
除了这个 loop-rowset-writeout 位之外,一切都按预期工作。任何想法表示赞赏,谢谢。
解决方案
推荐阅读
- php - 如何在 laravel 的 @include() 中使用 {{ }} 发送参数
- linux - dpkg-reconfigure locales 后如何刷新 locale 结果
- algolia - 将 3rd 方搜索结果与 Algolia 结果相结合
- swift - 使用伪终端 (PTY) 的 Swift 流程
- asp.net - 带有 OidcClient 的身份服务器 4
- c++ - 消除变量的 const 副本
- xml - Oracle 上的 XML 解析
- swift - 无法使用 QuickLook 预览文件
- ios - 苹果支付账单地址税计算
- slf4j - 我想使用以下属性将信息记录到两个不同的文件中