Linux 64位上的SQLITE_NOMEM错误

时间:2014-10-29 16:16:53

标签: linux sqlite 64-bit labview

我试图在LabVIEW 64位上使用Sqlite3。

我已经使用不同版本的SQLITE源成功编译了linux 64位(RHEL6)库。

然后我尝试用LabVIEW的两个现有SQLITE包装器调用该库(它们已分别适用于win32 / 64和win32 / linux32),使用一个简单的例子。

这个简单的例子执行以下操作(并在win32 / win64 / linux32上正常工作):

  • Open connection
  • DROP TABLE IF EXISTS
  • CREATE TABLE [MyTable] ([Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [Temperature] FLOAT NOT NULL, [Sensor] TEXT NULL);
  • INSERT INTO MyTable (Sensor, Temperature) VALUES ("%s", "%0.2f");
  • ...

使用sqlite3的版本3.8.7(最新)
当使用CREATE TABLE语句

调用sqlite3_step时,我遇到了LabVIEW崩溃

使用版本3.7.5 的sqlite3:
我在同一个函数调用中得到SQLITE_NOMEM内存不足错误

我使用2个LabVIEW包装器获得相同的检查并检查它们,因此我不怀疑LabVIEW代码

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你应该向包装的作者询问他们如何编译SQLite(即定义它们使用的是什么)。我可以向你保证,这与SQLite本身的关系非常不可能。

我的一个可能性是你的程序使用db元数据但是在编译时没有定义(定义SQLITE_ENABLE_COLUMN_METADATA)。

另见:http://www.sqlite.org/compile.html

相关问题