首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将Django连接到SQL server

无法将Django连接到SQL server
EN

Stack Overflow用户
提问于 2021-04-13 23:50:43
回答 1查看 73关注 0票数 0

这是我在这里的第一个帖子,所以如果有什么问题请原谅我。

我正在Django中创建一个CRM sorta应用程序,并尝试使用pyodbc连接到MSSQL数据库。我设法连接,Django甚至创建了一些表dbo.django_migrations和dbo.django_content_type (空白)。但是当我运行的时候,我得到了很多错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\views\generic\base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\utils\decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\views\decorators\debug.py", line 89, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\allauth\account\views.py", line 146, in dispatch
    return super(LoginView, self).dispatch(request, *args, **kwargs)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\allauth\account\views.py", line 69, in dispatch
    if request.user.is_authenticated and app_settings.AUTHENTICATED_LOGIN_REDIRECTS:
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\utils\functional.py", line 246, in inner
    self._setup()
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\utils\functional.py", line 382, in _setup
    self._wrapped = self._setupfunc()
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\middleware.py", line 23, in <lambda>
    request.user = SimpleLazyObject(lambda: get_user(request))
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\middleware.py", line 11, in get_user
    request._cached_user = auth.get_user(request)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\__init__.py", line 177, in get_user
    user_id = _get_user_session_key(request)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\__init__.py", line 60, in _get_user_session_key
    return get_user_model()._meta.pk.to_python(request.session[SESSION_KEY])
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\base.py", line 65, in __getitem__
    return self._session[key]
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\base.py", line 238, in _get_session
    self._session_cache = self.load()
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\db.py", line 43, in load
    s = self._get_session_from_db()
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\db.py", line 32, in _get_session_from_db
    return self.model.objects.get(
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 431, in get
    num = len(clone)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 262, in __len__
    self._fetch_all()
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\sql\compiler.py", line 1169, in execute_sql
    cursor.execute(sql, params)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 98, in execute
    return super().execute(sql, params)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\sql_server\pyodbc\base.py", line 553, in execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid object name 'django_session'. (208) (SQLExecDirectW); [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Statement(s) could not be prepared. (8180)")
[13/Apr/2021 16:36:31] "GET / HTTP/1.1" 500 203174

我真的不知道我做错了什么。我读过无数有类似问题的帖子,但似乎没有任何帮助。

我的settings.py:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'Employee_Database_Test',
        'USER': 'xxxx',
        'PASSWORD': 'xxxx', 
        'HOST': 'ss-sql-02',
        'PORT': '1433',
        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
        },
    },
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': BASE_DIR / 'db.sqlite3',
    # }
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-14 23:11:02

所以,在经历了很多挠头之后...我已经将Django从3.2降级到3.0,将Allauth降级到0.42.0。运行所有的迁移,一切都会神奇地工作起来。我不确定问题的原因是什么,老实说,可能只是Django 3.2或Allauth和pyobdc之间的一些不兼容?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67078278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档