Sqlite 错误:文件不是数据库

问题描述 投票:0回答:5

我创建了一个名为

database.db

的数据库

当我在数据库中创建表时,出现错误:

Error: file is not a database

nehal@nehal-Inspiron-5559:~/Desktop/UAV$ sqlite3 database.db 
SQLite version 3.20.1 2017-08-24 16:21:36
Enter ".help" for usage hints.
sqlite> CREATE TABLE users(
   ...> password varchar(10),
   ...> email text,
   ...> name text
   ...> );
Error: file is not a database

如何解决该错误?

sqlite
5个回答
8
投票

创建不带

.db
扩展名的数据库。
例如
sqlite3 users   //this creates a database names users


4
投票

使用密码创建数据库时可能会发生该错误。
因此

sqlite3_open
成功,但任何
sqlite3_exec
sqlite3_prepare
都将因此错误而失败。


0
投票

您也可以使用

.开放用户

它还将创建数据库

并打开现有数据库 users.db 使用

.打开用户.db

如果不使用.db,将创建同名的新数据库


0
投票

WPF 和 SQLiteAdministrator 使用 System.Data.SQLite 库在 WPF 代码中使用 Database->New->SQLite 3 DB 选项和“Data Source=whatever.s3db; Version=3”创建 SQLite v3 DB 时存在同样的问题。

在 SQLiteAdministrator 中选择 Database->Migrate to SQLite3 选项即可解决问题。它对我有用。我希望这对某人有帮助。


0
投票

我在下面遇到了同样的错误:

错误:文件不是数据库

因为我用

apple.db
backup.sql
.dump
导出到
.schema
,如下所示:

sqlite3 apple.db .dump > backup.sql

或者:

sqlite3 apple.db .schema > backup.sql

然后,我访问

backup.sql
并尝试分别使用
.table
.schema
显示表及其架构,如下所示:

sqlite3 backup.sql
...
sqlite> .table
Error: file is not a database

或者:

sqlite3 backup.sql
...
sqlite> .schema
Error: file is not a database

实际上,正如错误所示,

backup.sql
不是数据库,因此不可能分别用
.table
.schema
显示表及其架构。

© www.soinside.com 2019 - 2024. All rights reserved.