我有一个test.db sqlite文件,它是由ms访问的迁移工具创建的。该工具位于以下网站:http://mdb2sq3.codeplex.com/
我的mac上正确读取了sqlite文件。所有表和数据都与ms访问文件相同。问题是,当我在Windows上通过sqlite3.exe或sqlite3.dll代码打开它时,某些列包含SQLITE_NULL数据。
我发布了db:https://dl.dropboxusercontent.com/u/4904447/khirapumpsshaft.db
例如在windows上的kcomponent表中,我在ID_KCOMPONENT列上获得空值。
sqlite3.exe版本:3.9.1 - >这是在https://www.sqlite.org/2015/sqlite-shell-win32-x86-3090100.zip
下载的预编译命令行shellsqlite mac version:3.8.10.2
旧问题
我有一个test.db sqlite文件,其中包含一些表和一个视图(用于测试)。问题是,当我使用sqlite3 exe for windows( Windows 7 64位)时,视图为空,但如果我在mac上打开它,它会包含数据。
sqlite3.exe版本:3.9.1 - >这是在https://www.sqlite.org/2015/sqlite-shell-win32-x86-3090100.zip
下载的预编译命令行shellsqlite mac version:3.8.10.2
观点:
CREATE VIEW TEST_VIEW AS SELECT kfeature.ID_KFEATURE, kshaft.ID_KSHAFT, kcompsections.ID_KCOMPSECTIONS, kcompsections.POSITION, kcompsections.KCOMPONENT_ID_KCOMPONENT, ksection_feature.DRAW_ORDER FROM
(kshaft INNER JOIN kfeature_shaft ON kshaft.ID_KSHAFT = kfeature_shaft.KSHAFT_ID_KSHAFT) INNER JOIN
(kfeature INNER JOIN (ksection_feature INNER JOIN kcompsections ON ksection_feature.KCOMPSECTION_ID_KCOMPSECTION = kcompsections.ID_KCOMPSECTIONS) ON kfeature.ID_KFEATURE = ksection_feature.KFEATURE_ID_KFEATURE)
ON kfeature_shaft.KFEATURE_ID_KFEATURE = kfeature.ID_KFEATURE;
我甚至在SQLPro for Sqlite中打开了文件,视图还可以!怎么可能?
修改
刚从源代码编译的版本为3.8.10.2的sqlite3.dll,它可以工作! (The application was unable to start correctly (0xc000007b) Visual Studio C++)
它没有出现这个问题。
也许这是sqlite 3.9.1的最新版本的错误?怎么可能?