SSIS OLEDB 导出比 SQL 查询更多的记录
我有一个 SSIS 包,在其中创建了一个数据流任务,其中包含 OLE DB 源、数据覆盖和 Excel 目标。我在 OLE BD 源中使用的命令为我提供了 19024 条记录,而当我在 SQL Developer 中运行相同的查询时,我得到 204 行。谁能指导我发生什么事吗?
I have an SSIS package in which I created a data flow task where the OLE DB source, data coversion, and Excel destination are there. Command that I used in OLE BD source gives me 19024 records whereas when I run the same query in SQL developer I get 204 rows. Can anyone please guide me on what is happening?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想建议在 Oracle 数据库中创建一个视图或存储过程,并提供返回所需精确记录所需的逻辑。
使用新视图或 SP 作为 OLEDB 源的源,然后在 OLEDB 组件和数据转换组件之间添加行计数组件,以在运行时查看您检索了多少行。
此外,如果您想确保数据转换发送相同的行数,请在数据转换组件和 Excel 目标之间添加额外的行数。
我假设您正在处理 SSIS 包中的 excel 文件创建,因为如果您不回收该文件,您会将结果附加到其中的先前记录中,从而产生一种您收到的行数超出预期的感觉。
I want to recommend creating a view or Stored Procedure in the Oracle database with the logic required to return precise records needed.
Use the new view or SP as a source for your OLEDB source then add a row count component between your OLEDB component and Data Conversion component to see in runtime how many rows are you retrieving.
Also, if you want to make sure your data conversion is sending the same count of rows add an extra row count between your Data Conversion component and Excel Destination.
I'm assuming you are handling the excel file creation out of your SSIS package because if you are not recycling the file you will append the results to prior records in there, producing a feeling that you are receiving more rows than expected.