首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-pyodbc DatabaseError消息已连接

django-pyodbc DatabaseError消息已连接
EN

Stack Overflow用户
提问于 2014-02-25 16:20:25
回答 1查看 370关注 0票数 0

我在Django 1.6.1上使用django-pyodbc

当我运行manage.py syncdb时,一切都很好。

我在Django中使用了2个数据库设置来从我的遗留数据库中读取一些数据,当我想要从一个名为T_AllStation的模型中读取数据时

代码语言:javascript
复制
all_t_station = T_AllStation.objects.using('SQL_Server').all()

将引发一个错误:

代码语言:javascript
复制
DatabaseError at /company/get_station_info

('42S22', "[42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]\xc1\xd0\xc3\xfb 'id' \xce\xde\xd0\xa7\xa1\xa3 (207) (SQLExecDirectW)")

Request Method:     GET
Request URL:    http://127.0.0.1:8000/company/get_station_info
Django Version:     1.6.1
Exception Type:     DatabaseError
Exception Value:    

('42S22', "[42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]\xc1\xd0\xc3\xfb 'id' \xce\xde\xd0\xa7\xa1\xa3 (207) (SQLExecDirectW)")

Exception Location:     E:\VirtualEnvs\EnvMonitor\lib\site-packages\django_pyodbc\base.py in execute, line 416
Python Executable:  E:\VirtualEnvs\EnvMonitor\Scripts\python.exe
Python Version:     2.7.2

字符串\xc1\xd0\xc3\xfb 'id' \xce\xde\xd0\xa7\xa1\xa3 (207)是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2014-05-08 04:38:55

尝试让您的配置文件使用如下选项,以说明Unicode:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django_pyodbc',
        'NAME': 'db_name',
        'USER': 'db_user',
        'PASSWORD': 'your_password',            
        'HOST': 'database.domain.com,1433',
        'PORT': '1433',
        'OPTIONS': {
            'host_is_server': True,
            'autocommit': True,
            'unicode_results': True,
            'extra_params': 'tds_version=8.0'
        },
    }
}

(您使用的是Windows操作系统,因此不需要tds_version,但它也不会有什么坏处,所以您的配置可以移植到Linux上。)

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

https://stackoverflow.com/questions/22008333

复制
相关文章

相似问题

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