相关疑难解决方法(0)

Sqlite3,OperationalError:无法打开数据库文件

问题:为什么我不能打开数据库?


信息:我正在开发一个目的不重要但使用sqlite3数据库的项目.我制作了一个测试程序,它运行并传递给它创建数据库的位置:

sqlite3

单元测试程序可以使db没问题.然后,我实际上使用该程序,将相同的位置传递给它,它说

OperationalError:无法打开数据库文件

我尝试过使用空数据库.与数据库单元测试留下,没有数据库.在所有三种情况下,我都会收到此错误.最令人沮丧的部分必须是单元测试可以做得很好,但实际的程序不能.

关于到底发生了什么的任何线索?

python sqlite

49
推荐指数
5
解决办法
11万
查看次数

从Eclipse运行django服务器时没有这样的表错误

我正在使用Django开发一个网站.当我通过命令提示符运行服务器时,如下所示:

python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

它运行正常,但是当我从Eclipse(右键单击项目 - > Run As...- >)时django project,我收到以下错误:

DatabaseError at/
no这样的表:django_session
请求方法:GET
请求URL: http:// localhost:8000 /
Django版本:1.3
异常类型:DatabaseError
异常值:
没有这样的表:django_session

关于什么可以导致这个的任何想法?我不是那么精通django所以我不知道哪个文件可能导致这个 - 如果你需要我发帖,请在评论中询问.

python eclipse sqlite django pydev

11
推荐指数
1
解决办法
5431
查看次数

django:sqlite3.OperationalError:没有这样的表

我现在不知道为什么,但是当我试图进行测试时,从一天到另一天我开始遇到问题.我正在使用django 1.1(客户要求),当我运行测试时:

python manage.py test --setting=settingsTest
Run Code Online (Sandbox Code Playgroud)

抛出:

Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 362, in execute_manager
    ...
  File "/usr/lib/pymodules/python2.6/django/db/backends/sqlite3/base.py", line 193, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: programas_act_actividadesprograma
Run Code Online (Sandbox Code Playgroud)

但我有settingsTest.py

INSTALLED_APPS = (
    'django.contrib.auth',
    ...

    'site.programas_act',
    ...
)
Run Code Online (Sandbox Code Playgroud)

在/var/www/site/programas_act/models.py中

class ActividadesPrograma(models.Model):
    ...
Run Code Online (Sandbox Code Playgroud)

我删除了settingsTest.DATABASE_NAME中指定的文件并运行:

python manage.py syncdb --setting=settingsTest
Run Code Online (Sandbox Code Playgroud)

但仍然失败.

如果我在django shell_plus中运行:

import settings
print settings.INSTALLED_APPS
for app in settings.INSTALLED_APPS:
    print app
Run Code Online (Sandbox Code Playgroud)

我可以看到该应用程序,但是当我运行时:

from django.db import connection
cursor = connection.cursor() …
Run Code Online (Sandbox Code Playgroud)

sqlite django unit-testing django-models

9
推荐指数
1
解决办法
8516
查看次数

标签 统计

sqlite ×3

django ×2

python ×2

django-models ×1

eclipse ×1

pydev ×1

unit-testing ×1