SSIS 和 SQLite

标签 ssis sqlite system.data.sqlite

嘿伙计们,我想使用 ssis 任务来生成每日 SQLite 数据库...Ssis 作业将大量数据导出到 sqlite。

我面临的问题是 ssis 为每个插入打开和关闭一个事务,使得这项任务非常缓慢

有没有一种方法可以指示 ssis 在任务开始时打开事务,执行数千次插入,最后关闭事务

我知道我可以使用 system.data.sqlite dll 和 c# 代码轻松地做到这一点,但我想使用 ssis 的唯一原因是用最少的代码找到一个解决方案

有人可以帮忙吗...提前致谢

最佳答案

虽然我不确定您在数据流任务中使用哪种转换/目标组件,但我认为您正在使用 OLE-DB-Command 将值插入到目标。 OLE-DB-Command 为每一行运行语句。

因此,如果您知道每次运行要处理的不仅仅是几百行,那么我强烈建议使用OLE-DB-Destination,它具有诸如快速加载之类的选项来控制多少行行将被批量插入。 (查找每批行数最大插入提交大小选项)

您可能需要使用临时表才能在您的情况下使用 OLE-DB-Destination,但它可能比您当前的实现(假设 OLE-DB 命令)性能更高。

关于SSIS 和 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3906609/

相关文章:

android - 编译时无法打开数据库文件(代码 14): ,:PRAGMA journal_mode

android - 播放 list<byte[]> 来自 SQLite 数据库的音频文件

sql-server - CSV 文件格式更改

C# SSIS 数据流组件 - 创建自定义输入列

sql - 无法连接到重定向器。确保 'sql browser' 服务正在运行

android - 仅更新 sqlite 列值的特定部分

c# - 无法在.NET4 中加密/解密 SQLite 数据库

c# - 使用 ProviderFactory 获取异常以创建 SQLite 连接

c# - System.Data.SQLite parseViaFramework

sql-server - SSIS 平面文件错误 "Text was truncated or one or more characters had no match in the target code page."