使用python 3.6将Django 2.0与sql server 2014连接时出错

埃尔文奇

我是Django的新手,正在尝试将其与Sql Server连接。在我阅读时,为此使用第三方连接器。

Traceback (most recent call last):
File "manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "C:\Program Files\Python36\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
utility.execute()
File "C:\Program Files\Python36\lib\site-packages\django\core\management\__init__.py", line 347, in execute
django.setup()
File "C:\Program Files\Python36\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Program Files\Python36\lib\site-packages\django\apps\registry.py", line 112, in populate
app_config.import_models()
File "C:\Program Files\Python36\lib\site-packages\django\apps\config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
File "C:\Program Files\Python36\lib\site-packages\django\contrib\auth\models.py", line 2, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "C:\Program Files\Python36\lib\site-packages\django\contrib\auth\base_user.py", line 47, in <module>
class AbstractBaseUser(models.Model):
File "C:\Program Files\Python36\lib\site-packages\django\db\models\base.py", line 114, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
File "C:\Program Files\Python36\lib\site-packages\django\db\models\base.py", line 315, in add_to_class
value.contribute_to_class(cls, name)
File "C:\Program Files\Python36\lib\site-packages\django\db\models\options.py", line 205, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "C:\Program Files\Python36\lib\site-packages\django\db\__init__.py", line 33, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "C:\Program Files\Python36\lib\site-packages\django\db\utils.py", line 202, in __getitem__
backend = load_backend(db['ENGINE'])
File "C:\Program Files\Python36\lib\site-packages\django\db\utils.py", line 125, in load_backend
) from e_user
django.core.exceptions.ImproperlyConfigured: 'sqlserver_ado' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'postgresql', 'sqlite3', 'sqlserver_ado'

我看过很多帖子1234在这里SOF但没有似乎工作给我。我不想降级我的Django或python版本以使工作正常。
我试图复制到sqlserver_ado文件夹中

C:\ Program Files \ Python36 \ Lib \ site-packages \ django \ db \ backends但似乎没有用。我确定有解决方法。我正在使用Django 2.0和python 3.6.2

编辑1

我重新启动了PC并升级到Django 2.0.1。现在的错误是

File "C:\Program Files\Python36\lib\site-
packages\django\db\backends\sqlserver_ado\schema.py", line 9, in <module>
from django.utils.text import force_text
ImportError: cannot import name 'force_text'

我需要放

 DATABASES = {
    'default': {
        'NAME': 'DjangoTutorial',
        'ENGINE': 'django.db.backends.sqlserver_ado',
        'HOST': 'localhost',
        'USER': 'whateveruser',
        'PASSWORD': 'whateverpass',
    }
}

没有django.db.backends就不会重新识别它。我敢打赌这些版本的python django和django-mssql存在一些兼容性问题...

埃尔文奇

找到解决方案并将其发布(如果有人遇到相同问题)。

在撰写本文时,django-mssql支持Django的最高版本1.8。

使用django-pyodbc-azure代替django-mssql

对我有用的设置:

DATABASES = {
    'default': {
        'NAME': 'DjangoTutorial',
        'ENGINE': 'sql_server.pyodbc',
        'HOST': 'localhost',
        'USER': 'whateveryouuser',
        'PASSWORD': 'whateveryouuser',
        'PORT': '',
        'OPTIONS': {
            'driver': 'SQL Server Native Client 11.0',
        },
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Ubuntu上的python3连接到SQL Server 2014

如何使用Yii2连接SQL Server

将Nodejs和Angular 2连接到SQL Server 2014

使用JRuby和Microsoft JDBC Driver 4.0连接到SQL Server实例时出错

尝试使用 django-mssql-backend 将 Django 连接到 SQL Server 时出错

创建具有ODBC数据源和TLS的SQL Server 2014连接时出现问题

使用 NETBEANS SSL TLS10 [TLS12] 连接到 SQL SERVER 2014 时出错

使用雪花连接器在雪花中通过python执行sql查询时,列名称将分别为0、1、2、3

使用c3p0连接池时,MySQL的最佳最大连接设置是多少?

如何使用Python3连接到在Mac上的docker中运行的SQL Server?

ColdFusion不会将数据源与SQL Server 2014连接

具有实例名称的SQL Server 2014连接字符串

Microsoft SQL Server 2014中的报表服务(SSRS)2005连接数据库

SQL Server 2014连接字符串在PHP中无效[87]

使用odbc将Codeigniter 3与MS SQL Server连接

关闭实体管理器时,是否总是将连接检入到c3p0连接池中?

播放2.5框架和SQL Server 2008 R2连接

SQL Server 2008 R2连接字符串错误

SQL Server 2008连接错误

尝试使用 pyodbc 使用 python 连接到 sql server 时出错

使用pyodbc将Raspberry Pi 3连接到MSSQL Server

无法将Debezium 0.9.2连接到SQL Server 2008 R2

在 Linux 中使用 RODBC 连接到 SQL Server 时出错

使用PHP连接到MS SQL Server时出错

在python中使用to_sql函数将数据帧插入Sql-server DB时出错

AWS BOTO3连接到MS SQL数据库时出错

SQL Server 连接错误号:2,状态:0,类:20

使用python3连接构造的问题

使用Entity Framework 6连接到SQL Server Management Studio