gpt4 book ai didi

sql - 如何在没有安装 dev 库的情况下在 C 中使用 sqlite3?

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:55 25 4
gpt4 key购买 nike

我正在尝试在 RedHat Linux 服务器下使用 SQLite 加载本地数据库。我有一个 C 代码来从一个非常大的文件中加载数据库,该文件拆分了列。坏消息是机器上没有安装 sqlite3(fatal error: sqlite3.h: No such file or directory),我将无法获得安装 libsqlite3 的权限- dev ( acording to this) ,所以我只能通过 bash 或 python 使用它:

[dhernandez@zl1:~]$ locate sqlite3
/opt/xiv/host_attach/xpyv/lib/libsqlite3.so
/opt/xiv/host_attach/xpyv/lib/libsqlite3.so.0
/opt/xiv/host_attach/xpyv/lib/libsqlite3.so.0.8.6
/opt/xiv/host_attach/xpyv/lib/python2.7/sqlite3
/opt/xiv/host_attach/xpyv/lib/python2.7/lib-dynload/_sqlite3.so
/opt/xiv/host_attach/xpyv/lib/python2.7/sqlite3/__init__.py
/opt/xiv/host_attach/xpyv/lib/python2.7/sqlite3/dbapi2.py
/opt/xiv/host_attach/xpyv/lib/python2.7/sqlite3/dump.py
/usr/bin/sqlite3
/usr/lib64/libsqlite3.so.0
/usr/lib64/libsqlite3.so.0.8.6
/usr/lib64/python2.6/sqlite3
/usr/lib64/python2.6/lib-dynload/_sqlite3.so
/usr/lib64/python2.6/sqlite3/__init__.py
/usr/lib64/python2.6/sqlite3/__init__.pyc
/usr/lib64/python2.6/sqlite3/__init__.pyo
/usr/lib64/python2.6/sqlite3/dbapi2.py
/usr/lib64/python2.6/sqlite3/dbapi2.pyc
/usr/lib64/python2.6/sqlite3/dbapi2.pyo
/usr/lib64/python2.6/sqlite3/dump.py
/usr/lib64/python2.6/sqlite3/dump.pyc
/usr/lib64/python2.6/sqlite3/dump.pyo
/usr/lib64/xulrunner/libmozsqlite3.so
/usr/share/man/man1/sqlite3.1.gz
/usr/share/mime/application/x-kexiproject-sqlite3.xml
/usr/share/mime/application/x-sqlite3.xml

以下哪个选项会更快?

  1. 在我的 C 程序中拆分列,然后像这样执行插入这个:

    system("echo 'insert into t values(1,2);'" | sqlite3 mydb.db);
  2. 拆分我的 C 程序中的列,将其保存到临时文件中,然后我有 500.000 行我像这样执行脚本(然后清空继续加载行的临时文件):

    system("sqlite3 mydb.db < temp.sql);
  3. 拆分我的 C 程序中的列,在它们之间添加分隔符,将其保存到临时文件并像这样导入它:

    .delimiter '@'
    .import temp.txt t

最佳答案

您可以使用 amalgation版本。它是一个单独的 .c 文件,您可以将其包含在您的项目中,并且所有 SQLite 都可用。无需动态链接。

关于sql - 如何在没有安装 dev 库的情况下在 C 中使用 sqlite3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35870149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com