Django-想说爱你真不容易--解决“Unable to open database file”(原创)
2009-08-19 11:12
706 查看
今天使用django连接sqlite3数据库碰到了一个很无语的问题:unable to open database file。settings.py的设置如下:
DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = r"C:\Python25\database\myblog.db" # Or path to database file if using sqlite3.
DATABASE_USER = 'root' # Not used with sqlite3.
DATABASE_PASSWORD = 'admin' # Not used with sqlite3.
DATABASE_HOST = 'localhost' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
首先,DATABASE_NAME设置有误。注意:如果没有加前面那个r的话,有错。加表示该字符串是raw的,即不用进行转义字符转换。
其次,当我输入>>>from django.db import connection.
>>>cur = connection.cursor()
一直提示我"Unable to open database file".。。。。。。。。。。。google之。。。。。。。。。。找到原因,说是打开数据库文件时,还会自动生成一个临时文件。服务器不仅需要对数据库文件可写,而且要对包含该数据库文件的文件夹可写。所以当下之急,就是要修改该文件夹对所有可写。在linux下貌似有个叫“chmod”可以修改文件/文件夹权限。win下的不详~~。。。。。。。。。。继续google。。。。。。。。。。。。最后找到了个CACLS.exe命令。该命令可以修改某用户对某文件的权限。nice~但是我希望的是修改所有人对该文件夹的权限,因为这样,服务器才能访问它。所以继续google。。。。。发现Cacls.exe原来可以这么写:
cacls c:/database /e /t /g everyone:F
这样便可以修改C:/database为任何人可以读写(最后那个F表示用户对该文件可以完全控制)。OK~回车~~重新尝试下^_^
>>>from django.db import connection.
>>>cur = connection.cursor()
没有提示任何错误!!!!!!!!哈哈~~搞定~~~
注:有点应当注意:关于Calcs.exe命令的形式最好再好好研究下。我这样写是直接copy网上的。对于/e,/t这些命令不了解啥意思。
----David Cai 09-08-19晨于金山公司
DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = r"C:\Python25\database\myblog.db" # Or path to database file if using sqlite3.
DATABASE_USER = 'root' # Not used with sqlite3.
DATABASE_PASSWORD = 'admin' # Not used with sqlite3.
DATABASE_HOST = 'localhost' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
首先,DATABASE_NAME设置有误。注意:如果没有加前面那个r的话,有错。加表示该字符串是raw的,即不用进行转义字符转换。
其次,当我输入>>>from django.db import connection.
>>>cur = connection.cursor()
一直提示我"Unable to open database file".。。。。。。。。。。。google之。。。。。。。。。。找到原因,说是打开数据库文件时,还会自动生成一个临时文件。服务器不仅需要对数据库文件可写,而且要对包含该数据库文件的文件夹可写。所以当下之急,就是要修改该文件夹对所有可写。在linux下貌似有个叫“chmod”可以修改文件/文件夹权限。win下的不详~~。。。。。。。。。。继续google。。。。。。。。。。。。最后找到了个CACLS.exe命令。该命令可以修改某用户对某文件的权限。nice~但是我希望的是修改所有人对该文件夹的权限,因为这样,服务器才能访问它。所以继续google。。。。。发现Cacls.exe原来可以这么写:
cacls c:/database /e /t /g everyone:F
这样便可以修改C:/database为任何人可以读写(最后那个F表示用户对该文件可以完全控制)。OK~回车~~重新尝试下^_^
>>>from django.db import connection.
>>>cur = connection.cursor()
没有提示任何错误!!!!!!!!哈哈~~搞定~~~
注:有点应当注意:关于Calcs.exe命令的形式最好再好好研究下。我这样写是直接copy网上的。对于/e,/t这些命令不了解啥意思。
----David Cai 09-08-19晨于金山公司
相关文章推荐
- Ubuntu+django+apache下配置网页错误OperationalError: Unable to Open Database File 的解决方法
- 手把手教你:Ubuntu+django+apache下配置网页错误OperationalError: Unable to Open Database File 的解决方法
- sqlite3.OperationalError: unable to open database file 解决办法
- sqlite3.OperationalError: unable to open database file 解决办法
- Flask sqlite3.OperationalError: unable to open database file解决方法
- unable to open database file的原因与解决
- 【解决】unable to open database file
- 解决sqllite的'unable to open database file'错误
- PHP PDO sqlite ,Unable to Open database file的解决方法
- winform中,使用openfileDialog而引起的“Unable to open the database file"
- LOGCAT里面出现UNABLE TO OPEN LOG DEVICE ‘/DEV/LOG/MAIN': NO SUCH FILE OR DIRECTORY 的解决办法
- android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (code 14)
- [问题解决] initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock
- [SecureCRT] 解决 securecrt failed to open the host key database file 的问题
- Android SQLite数据库异常: unable to open database file
- useradd: unable to open password file 解决办法
- eclipse、android开发 logcat出现 Unable to open log device ‘/dev/log/main’: No such file or directory 解决办法
- C++ builder 6 编译时提示Unable to open file 'DCLUSR.LIB' 之解决办法
- [转]解决:Unable to open log device '/dev/log/main': No such file or directory