django-pyodbc 数据库错误消息已连线



我在Django 1.6.1上使用django-pyodbc

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

我在 Django 中使用 2 个数据库设置从我的旧数据库中读取一些数据,当我从模型名称读取数据时T_AllStation

all_t_station = T_AllStation.objects.using('SQL_Server').all()

引发错误:

DatabaseError at /company/get_station_info
('42S22', "[42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]xc1xd0xc3xfb 'id' xcexdexd0xa7xa1xa3 (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]xc1xd0xc3xfb 'id' xcexdexd0xa7xa1xa3 (207) (SQLExecDirectW)")
Exception Location:     E:VirtualEnvsEnvMonitorlibsite-packagesdjango_pyodbcbase.py in execute, line 416
Python Executable:  E:VirtualEnvsEnvMonitorScriptspython.exe
Python Version:     2.7.2

字符串xc1xd0xc3xfb 'id' xcexdexd0xa7xa1xa3 (207)是什么意思?

尝试使配置文件使用这样的选项,以考虑Unicode:

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。

相关内容

  • 没有找到相关文章

最新更新