我试图在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
语句
使用版本3.7.5 的sqlite3:
我在同一个函数调用中得到SQLITE_NOMEM
内存不足错误
我使用2个LabVIEW包装器获得相同的检查并检查它们,因此我不怀疑LabVIEW代码
有什么建议吗?
答案 0 :(得分:0)
你应该向包装的作者询问他们如何编译SQLite(即定义它们使用的是什么)。我可以向你保证,这与SQLite本身的关系非常不可能。
我的一个可能性是你的程序使用db元数据但是在编译时没有定义(定义SQLITE_ENABLE_COLUMN_METADATA)。