在运行"python manage.py syncdb"之后,我得到一个错误消息"Unable to open database file"(无法打开数据库文件).

下面是我的settings.py中的重要部分:

DATABASE_ENGINE = 'sqlite3'    # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'apps.db'      # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.

这里是apps.db的权限:

-rw-r--r-- 1 root root 33792 19. Jul 10:51 apps.db

我的django服务器是从apache调用的...我不知道这是否与权限有关,但会改变应用程序的所有者.数据库到"www数据"也不起作用

[编辑]

为了确保www数据可以访问所有这些,我做了以下工作:

执行了以下操作:

chown -R www-data apps
rm apps.db
su www-data
python manage.py syncdb

但它仍然不起作用:(

推荐答案

我通过将数据库名称更改为绝对路径/var/www/apps/apps.db来解决了这个错误.

在windows机器上,反斜杠应该像:C:\\path\\to\\database\\database_name.db那样转义.

Database相关问答推荐

如何正确创建mongo模型和客户端?

华为Appcube中的对象字段类型

将数据库/后端添加到 android 应用程序

在 bindParam 中使用 LIKE 进行 MySQL PDO 查询

如何将 MySQL 5.5.40 升级到 MySQL 5.7

如何在 Oracle 中找到指向一条记录的外键依赖项?

Oracle 和 SQL Server 中的 NVARCHAR 之间的区别?

从 XML 读取数据

Uniqueidentifier vs. IDENTITY vs. Material Code - 主键的最佳 Select 是哪个?

在 SQL Server 中存储属性的最佳模式是什么?

在数据库中存储枚举值的最佳方式 - String 或 Int

为什么在 Hibernate 中不推荐hibernate.connection.autocommit = true?

Django:将博客条目查看次数加一,这有效率吗?

Phonegap 离线数据库

Apache Spark 的主键

如何在数据库中表示树状 struct

我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗?

包含 8000 万条记录并添加索引的表需要超过 18 小时(或永远)!怎么办?

是否有用于 postgresql 的数据可视化工具,它也能够显示模式间关系?

自引用表上的 SQL 递归查询 (Oracle)