首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置django-mssql问题

设置django-mssql问题
EN

Stack Overflow用户
提问于 2012-03-30 13:44:53
回答 6查看 21.9K关注 0票数 4

我在Win Server 2008 R2上设置django-mssql有一些问题。但是,我已经安装了所有设置文件,但是,django-mssql的wiki命令设置设置文件,类似于:

代码语言:javascript
复制
DATABASES = {
'default': {
    'NAME': 'my_database',
    'ENGINE': 'sqlserver_ado',
    'HOST': 'dbserver\\ss2008',
    'USER': '',
    'PASSWORD': '',
    'OPTIONS' : {
        'provider': 'SQLOLEDB',
        'use_mars': True,
    },
   }
}

当我从我的站点目录运行时:

代码语言:javascript
复制
 python manage.py syncdb

我收到一个错误,说明它不是可用的数据库后端。当我安装django-mssql时,这里似乎安装了后端,\site-packages\django_mssql-1.0.1-py2.7.egg\sqlserver_ado需要将它复制到site-packages\django\db\backends吗?

如果将设置设置为:

代码语言:javascript
复制
DATABASES = {
'default': {
    'NAME': 'my_database',
    'ENGINE': 'django_mssql-1.0.1-py2.7.egg.sqlserver_ado',
    'HOST': 'dbserver\\ss2008',
    'USER': '',
    'PASSWORD': '',
    'OPTIONS' : {
        'provider': 'SQLOLEDB',
        'use_mars': True,
    },
   }
}

在设置这个后端时,我是不是遗漏了什么?这是我第一次使用django,但我没有在文档中看到任何用于设置不同后端的内容,django-mssql wiki或问题似乎也没有什么。

此外,如果有其他文件可以帮助我,请告诉我。

编辑: django应用程序正在Ubuntu服务器上运行。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-04-13 00:49:56

您需要确保可以从python导入"sqlserver_ado“。

将文件夹sqlserver_ado放在您的路径上,我将我的文件夹放在\site-packages中\

看一看README.txt

引擎确实希望设置为"sqlserver_ado“,类似于设置示例页面。上设置的方式。

票数 5
EN

Stack Overflow用户

发布于 2016-05-02 07:56:14

达斯汀关于确保从命令外壳导入sqlserver_ado的评论让我在安装了pywin32的Django 1.8.1,Python3.5 Win32系统上走上了正确的道路。

扰流板警告,这只会让我的Django实例在没有错误的情况下运行。我还没有测试ADO连接。

我收到的第一条错误消息是:

代码语言:javascript
复制
No module named 'django.db.backends.util'

我发现有一个名为:django.db.backends.utils的文件,所以我复制了它,并将它重命名为django.db.backends.util (没有“s”),然后错误消息就消失了!

因此,希望这不是太有害,我继续这一行的疑难解答。

我收到的下一个错误消息是:

代码语言:javascript
复制
  File "C:\Program Files (x86)\Python35-32\lib\site-packages\sqlserver_ado\base.py", line 7, in <module>
from django.db.backends import BaseDatabaseWrapper, BaseDatabaseFeatures, BaseDatabaseValidation, BaseDatabaseClient 
ImportError: cannot import name 'BaseDatabaseWrapper'

我将base.py中的第7行更改为现在说:

代码语言:javascript
复制
#from django.db.backends import BaseDatabaseWrapper, BaseDatabaseFeatures, BaseDatabaseValidation, BaseDatabaseClient
from django.db.backends.base.base import BaseDatabaseWrapper
from django.db.backends.base.features import BaseDatabaseFeatures
from django.db.backends.base.validation import BaseDatabaseValidation
from django.db.backends.base.client import BaseDatabaseClient

是的,这是对坏行的注释,添加了四个单独的行。然后我得到了一个错误:

代码语言:javascript
复制
  File "C:\Program Files (x86)\Python35-32\lib\site-packages\sqlserver_ado\base.py", line 18, in <module>
from .introspection import DatabaseIntrospection

文件"C:\Program (x86)\Python35-32\lib\site-packages\sqlserver_ado\introspection.py",第3行,从django.db.backends导入BaseDatabaseIntrospection ImportError:无法导入名称'BaseDatabaseIntrospection‘

因此,我将第3行改为现在:

代码语言:javascript
复制
from django.db.backends.base.introspection import BaseDatabaseIntrospection

Creation.py也是如此:

代码语言:javascript
复制
from django.db.backends.base.creation import BaseDatabaseCreation

对于operations.py:

代码语言:javascript
复制
from django.db.backends.base.operations import BaseDatabaseOperations

对于schema.py:

代码语言:javascript
复制
from django.utils.log import getLogger

希望这能帮上忙。希望ADO模块能够真正连接到一些东西。

-Sean

票数 6
EN

Stack Overflow用户

发布于 2019-01-18 22:08:01

截至2019年的

我根本无法让Django MSSQL工作。

我转到了姜戈-吡啶-天蓝色,这很好用。

安装:

代码语言:javascript
复制
pip install django-pyodbc-azure

设置:

代码语言:javascript
复制
'ENGINE': 'sql_server.pyodbc'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9944204

复制
相关文章

相似问题

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