SQLite无法在Win98中打开数据库

时间:2013-06-20 16:26:12

标签: c++ sqlite

我在使用我的代码访问在Windows 98计算机上从sqlite创建的数据库时遇到问题。在输出错误消息时,我收到磁盘I / O错误。我正在使用sqlite版本3.6.23来创建数据库。以下是我的代码中调用sqlite3以访问数据库的部分:

int sqlite3_extended_result_codes(sqlite3*, int on);
int result = sqlite3_open_v2(sqliteDatabasePath, &database, SQLITE_OPEN_READONLY, NULL);
if(result != SQLITE_OK)
{
  cout << "Error opening database file: " << sqliteDatabasePath
       << endl << "Sqlite3 Error Code: " << result
       << endl;
  cout << sqlite3_extended_errcode(database) << endl;
  throw;
}
cout << "Successfully opened database " << sqliteDatabasePath << endl;

我没有找到任何可以告诉我的原因,否则为什么这在Win98中不起作用,但也许我看起来不够努力。任何提示或帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这似乎是一个已知问题,已在SQLITE论坛中讨论过。

原因是读取和写入文件时改变了#34; OVERLAPPED&#34;。根据SQLITE,他们不建议在旧版本的Windows上使用它。如果你真的必须使用它,更喜欢旧版本。

通过这个链接,他们建议了一个替代方法,让sqlite在Windows 98上运行。

http://sqlite.1065341.n5.nabble.com/Running-on-windows-98-td66471.html