嘿伙计们,我想使用 ssis 任务来生成每日 sqlite dbs ... ssis 作业将大量数据导出到 sqlite。
我面临的问题是 ssis 为每个插入打开和关闭一个事务,使这个任务非常缓慢
有没有办法我可以指示 ssis 在任务开始时打开事务,执行数千次插入并最终关闭事务
我知道我可以使用 system.data.sqlite dll 和 c# 代码轻松地做到这一点,但我想使用 ssis 的唯一原因是有一个使用最少代码的解决方案
任何人都可以帮忙...提前谢谢
嘿伙计们,我想使用 ssis 任务来生成每日 sqlite dbs ... ssis 作业将大量数据导出到 sqlite。
我面临的问题是 ssis 为每个插入打开和关闭一个事务,使这个任务非常缓慢
有没有办法我可以指示 ssis 在任务开始时打开事务,执行数千次插入并最终关闭事务
我知道我可以使用 system.data.sqlite dll 和 c# 代码轻松地做到这一点,但我想使用 ssis 的唯一原因是有一个使用最少代码的解决方案
任何人都可以帮忙...提前谢谢
尽管我不确定您在数据流任务中使用了哪种转换/目标组件,但我认为您正在使用OLE-DB-Command
将值插入目标。每行的OLE-DB-Command
运行语句。
因此,如果您知道每次运行处理的行数不止几百行,那么我强烈建议您使用OLE-DB-Destination
which 具有诸如快速加载之类的选项来控制批量插入多少行。(寻找Rows Per Batch
和Maximum Insert Commit Size
选择)
您可能需要使用临时表才能在您的情况下使用 OLE-DB-Destination,但它可能比您当前的实现(假设 OLE-DB 命令)性能更高。