Articles of sqlite

GHC ::链接agains sqlite3在Windows上失败

我创build了一个简单的应用程序,它使用sqlite3作为数据存储的后端。 在Linux上构build和运行时,我没有遇到任何问题,但在尝试在Windows上构build它之后,我发现了一个奇怪的链接错误: Linking dist\build\hnotes\hnotes.exe … C:\Documents and Settings\Admin\Application Data\cabal\sqlite-0.5.2.2\ghc-7.0.4/libHSsqlite-0.5.2.2. a(sqlite3-local.o):sqlite3-local.c:(.text+0x21): undefined reference to `sqlite3_temp_directory' C:\Documents and Settings\Admin\Application Data\cabal\sqlite-0.5.2.2\ghc-7.0.4/libHSsqlite-0.5.2.2. a(sqlite3-local.o):sqlite3-local.c:(.text+0x40): undefined reference to `sqlite3_temp_directory' collect2: v ld 1 cabal.EXE: Error: some packages failed to install: hnotes-0.1 failed during the building phase. The exception was: ExitFailure 1 有什么可能是错的? 我怀疑,qalite3.dll必须添加到链接阶段,但不知道如何做到这一点。 添加–extra-lib-dirs = path-to-sqlite-dll也没有帮助(也许是因为我需要以某种方式更新我的cabal文件,以支持这一点?)。

使用gnuplot来绘制sqlite数据库

我有一个包含以下格式的基本天气信息的sqlite数据库: temp1 temp2 pressure humidity 22 23 1024 40 24 25 1027 45 25 26 1020 62 18 15 1019 80 我怎样才能使用gnuplot来绘制这个数据? 在能够绘制数据之前,我必须重新排列数据吗?

是不可中断的睡眠我的Python程序的原因是真的很慢(如果是这样,我该如何解决这个问题?)?

我有以下select语句(使用sqlite3和pysqlite模块): self.cursor.execute("SELECT precursor_id FROM MSMS_precursor "+ "JOIN spectrum ON spectrum_id = spectrum_spectrum_id "+ "WHERE spectrum_id = spectrum_spectrum_id "+ "AND ROUND(ion_mz,9) = ? AND ROUND(scan_start_time,4) = ? "+ "AND msrun_msrun_id = ?", select_inputValues) 在Python中运行需要55秒。 直接在SQLite命令行上运行它只需要15ms。 现在,我注意到,在这个步骤中,Python程序进入了不间断的睡眠状态( 31283 ndeklein 18 0 126m 24m 3192 D 1.0 0.0 2:02.50 python ,顶级输出中的D),并从100%的CPU下降到1 % 中央处理器。 现在我在查询过程中注意到了,在运行查询时我也查看了顶部输出。 在这段时间内,top也显示它会进入不间断的睡眠状态,虽然它在R和D之间来回切换,只减慢到50%左右(根据D或R状态而变化)。 所以现在我认为这是减慢我的查询速度(请纠正我,如果不间断的睡眠与程序速度无关)。 如果这是真的,我怎样才能确保程序不会进入这种状态? 更新1: […]

sqlite插入需要很长时间

我插入一个sqlite数据库表只有200,000行。 我只是在terminal中通过sqlite3使用非常简单的.sql文件。 我敢打赌它已经跑了至less30分钟了。 这是正常的,还是应该closures这个过程,尝试一些不同的东西?

如何编译与ICU的SQLite?

我从http://www.sqlite.org/sqlite-autoconf-3070701.tar.gz下载了sqlite 我怎样才能编译与icu的sqlite?

SQLite查询的执行时间:单位

正如在SQLite文档中所描述的,人们可以使用: sqlite> .timer ON 或者将相同的命令添加到〜/ .sqliterc 完成此操作后,SQLite shell会对每个执行的查询以CPU时间的用户和sys组件进行响应: user@machine% sqlite3 test.db — Loading resources from ~/.sqliterc SQLite version 3.7.14 2012-09-03 15:42:36 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> select count(*) from my_table; count(*) 10143270 CPU Time: user 0.199970 sys 1.060838 虽然我发现这个答案在几秒钟内为时间单位提供了证据,但我却很难同意。 当使用秒表计时执行查询时,我发现几乎每个查询所花费的时间都比shell的时间要长。 例如,上面例子中的查询时间约为1分54秒 。 这种差异的原因是什么? 那么再一次,这些单位是什么? 什么是用户和系统组件? 我在通过NFS访问的Debian GNU / […]

将数据embedded到C ++程序中

我有一个使用SQLite的C ++程序。 我想将SQL查询存储在一个单独的文件中 – 一个纯文本文件, 而不是一个源代码文件 – 但是将该文件embedded到可执行文件中,就像资源一样。 (这个必须在Linux上运行,所以我不能把它作为一个实际的资源存储,据我所知,尽pipe如果它是Windows的话,那将是完美的)。 有没有简单的方法来做到这一点,还是会有效地要求我为Linux编写自己的资源系统? (很容易,但需要更长的时间。)

sql的正确path/ URI的PHP在Windows上的pdo

[ante-scriptum:这是一个自我回答的问题,你不需要麻烦回答] 我遇到了一个奇怪的configuration问题,没有logging在特定的PHP.net页面或StackOverflow的任何地方。 问题 在Windows上打开现有的sqlite数据库时,同样的错误一直显示: SQLSTATE[HY000] [14] Unable To Open Database File 虽然执行的代码是从手册复制/粘贴: <?php /* Connect to an ODBC database using driver invocation */ $dsn = 'sqlite:/full/path/to/db'; $user = 'dbuser'; $password = 'dbpass'; try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } ?> 我无法打开这个数据库,因为我在Google上search了各种各样的DSN: $dsn […]

静态链接SQLite与DMD(Windows x86)

我试图静态链接与sqlite3没有成功。 我正在使用“etc.c.sqlite3”标题和sqlite3合并。 创build.lib文件我已经尝试了VC ++和MinGW-gcc,它们都能成功编译源文件 – 但是它们都生成COFF对象格式(DMD使用的optlink,可以和OMF一起使用)。 在阅读“digitalmars.D”上的post后,我尝试了几种不同的解决scheme。 objconv: 试图转换使用GCC创build的lib文件,导致未定义的符号,如__divdi3和__muldi3,无法解决这个问题。 也试过这个将sqlite3.o文件转换为* .obj,然后使用digitalmars'lib.exe' – 也不成功 在VC ++生成的lib上尝试objconv失败,因为:“SQLite.lib是一个导入库” IMPLIB: 如果我从sqlite.org下载了预编译的DLL并使用了implib,它会生成一个lib文件,但是这个名字似乎并不匹配,因为即使我与静态库链接,仍然会收到相同的sqlite错误(例如undefined符号_sqlite3_open , _sqlite3_errmsg , _sqlite3_close … coffimplib: 如果我在VC ++创build的库文件上使用coffimplib,程序将生成一个几乎为空的文件(〜2KB),其中只包含垃圾(即根本没有符号,大部分只是'空'值)。 如果我对GCC创build的库做同样的事情,coffimplib会抱怨“不是导入库”,也不会生成转换后的库文件。 如果我使用DMC来编译sqlite3合并,编译失败抱怨大量的错误。 所以在这里,我陷入了困境,有没有人有任何想法或提示什么可以解决这个问题? 注意:我不想使用DLL,但静态链接与SQLite(为可执行文件大小考虑)。

为什么Windows提供了一个sqlite3.OperationalError和Linux不?

问题 我有一个程序使用风暴0.14 ,它给了我这个错误在Windows上: sqlite3.OperationError:数据库表被locking 事情是,在Linux下它工作正常。 我有这样的印象,只有在完成了一定的修改之后才会发生,就像在某些代码中发生的那样,它会复制大量的对象。 打开debugging模式给了我这个在Windows上: 83 EXECUTE:'UPDATE regularorder_product SET discount =? WHERE regularorder_product.order_id =? AND regularorder_product.product_id =?',(Decimal(“25.00”),788,274) 84完成 85 EXECUTE:'UPDATE repeated_orders SET nextDate =? WHERE repeated_orders.id =?',(datetime.date(2009,3,31),189) 86错误:数据库表被locking 在linux上: 83 EXECUTE:'UPDATE regularorder_product SET discount =? WHERE regularorder_product.order_id =? AND regularorder_product.product_id =?',(Decimal(“25.00”),789,274) 84完成 85 EXECUTE:'UPDATE repeated_orders SET nextDate =? WHERE repeated_orders.id =?',(datetime.date(2009,3,31),189) 86完成 系统信息 […]