Django“无法打开数据库文件"

2023-10-08数据库问题
1

本文介绍了Django“无法打开数据库文件"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

运行python manage.py syncdb"后,我收到一条错误消息,提示无法打开数据库文件".

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

DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2'、'postgresql'、'mysql'、'sqlite3' 或 'oracle'.DATABASE_NAME = 'apps.db' # 如果使用 sqlite3,则为数据库文件的路径.DATABASE_USER = '' # 不用于 sqlite3.DATABASE_PASSWORD = '' # 不用于 sqlite3.DATABASE_HOST = '' # 为本地主机设置为空字符串.不与 sqlite3 一起使用.DATABASE_PORT = '' # 默认设置为空字符串.不与 sqlite3 一起使用.

这里是apps.db"的权限:

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

我的 django 服务器是从 apache 调用的...我不知道这是否与权限有关,但是将 apps.db 的所有者更改为www-data"也不起作用

为了确保 www-data 可以访问所有这些,我做了以下事情:

做了以下事情:

chown -R www-data 应用rm 应用程序.dbsu www-datapython manage.py syncdb

但是还是不行:(

解决方案

我通过将 DATABASE_NAME 更改为绝对路径解决了该错误:/var/www/apps/apps.db.>

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

after running "python manage.py syncdb" i gett an error saying "unable to open database file".

here is the important part from my 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.

and here are the permissions for "apps.db":

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

My django server is called from apache... i don't know if it has to do with the permissions but changing the owner of apps.db to "www-data" did not work either

[edit]

to ensure www-data can access all of this i did the following:

did the following:

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

but it still does not work :(

解决方案

I solved the error by changing the DATABASE_NAME to an absolute path: /var/www/apps/apps.db.

On a windows machine, backslash should be escaped like: C:\path\to\database\database_name.db.

这篇关于Django“无法打开数据库文件"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

Django MySQLdb 版本与 _mysql 版本 Ubuntu 不匹配
Django MySQLdb version doesn#39;t match _mysql version Ubuntu(Django MySQLdb 版本与 _mysql 版本 Ubuntu 不匹配)...
2024-04-16 数据库问题
11

定义外键有什么好处
what are the advantages of defining a foreign key(定义外键有什么好处)...
2024-04-16 数据库问题
7

音乐库 MySQL 数据库
Music library MySQL database(音乐库 MySQL 数据库)...
2024-04-16 数据库问题
6

理解mysql解释
understanding mysql explain(理解mysql解释)...
2024-04-16 数据库问题
8

价格是浮点数还是小数点?
Float or decimal for prices?(价格是浮点数还是小数点?)...
2024-04-16 数据库问题
5

存储用户并传入单表或单表
store users and pass in single table or separate table(存储用户并传入单表或单表)...
2024-04-16 数据库问题
5