【问题标题】:Bulk load data into sqlite?将数据批量加载到 sqlite 中?
【发布时间】:2009-03-30 12:34:09
【问题描述】:

是否有人对可用于将存储在分隔文本文件中的数据批量加载到 SQLite 数据库中的实用程序有任何提示?

理想情况下,可以从脚本等中作为独立程序调用。

与我合作的一个小组有一个 Oracle 数据库,它会将一堆数据转储到文件中,然后将这些数据加载到 SQLite 数据库中以在移动设备上使用,并且正在寻找最简单的方法来实现这种场景。

【问题讨论】:

    标签: sqlite bulk-load


    【解决方案1】:

    查看 sqite .import 命令 - 它确实做到了这一点。
    您可以使用 .separator 命令设置分隔符

    sqlite3 myDatabase
    create table myTable (a, b, c);
    .separator ','
    .import  myFile  myTable
    

    【讨论】:

    • 哇。这是一个更好的选择。我会羞愧地删除我的回复...+1
    • 想评论我认为“羞耻”的评论很有趣;)
    • 一个重要的警告:这 not 不能处理更复杂的 CSV:字段不能用双引号括起来,如果出现以下情况,您不能尝试用反斜杠转义分隔符您需要它作为有效的字段内容。
    • @TomDeLeu .mode csv 将允许导入 CSV
    【解决方案2】:

    你为什么想要一个文本文件?

    只需使用 Java,它确实具有易于使用的库,可用于 OracleSQLite 访问。连接到两个数据库,只需从一个数据库中选择并插入另一个数据库,而不会增加 CSV 的复杂性,这不是一种定义非常明确的格式,并且会给您带来字符编码、引号、逗号/制表符或分号、换行符等方面的问题。你的数据。

    【讨论】:

    • 你打赌。他们想要一个,因为那是他们正在考虑的道路。我将建议这种方法(因为它会更聪明......)并看看它会发生什么。他们可能没有经验丰富的 Java 人,在这种情况下,我会学习并做到这一点。
    • 没有理由它必须是 Java,任何其他可以同时使用 Oracle 和 SQLite 数据库的语言都可以完成这项工作。这几乎是任何主要语言。
    • 由于 sqlite 锁定写入,因此从文件加载会很好。是否有直接从 Java 界面(或其他主要语言?)而不写入文件的批量加载选项?
    • SQLite 数据库提供了高效的导入工具,为什么还要编写代码?
    • @qwerty9967 您只需将插入包装在事务中,它们的速度将提高数千倍——实际上是批量操作。
    猜你喜欢
    • 2015-01-15
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    相关资源
    最近更新 更多