首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python manage.py dbshell / loaddata中使用django-pyodbc时遇到麻烦

在python manage.py dbshell / loaddata中使用django-pyodbc时遇到麻烦
EN

Stack Overflow用户
提问于 2014-06-24 14:53:22
回答 1查看 832关注 0票数 0

我很难通过python / manage.py数据连接到Server数据库。

我在Ubuntu上设置了FreeTDS,unixODBC,pyodbc (3.0.7)和django-pyodbc从这里:https://github.com/lionheart/django-pyodbc/

我可以成功地运行syncdb和South迁移。但是,当我尝试运行dbshell或loaddata时,会得到以下错误:

代码语言:javascript
复制
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect

我可以使用isql和tsql从命令行连接。对我错过了什么有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-24 19:16:23

所以我想出了问题。

如果要使用dbshell或loaddata,则需要使用命名的DSN,而不仅仅是主机。我在/etc/freetds.conf、/etc/odbcinst.ini和/etc/odbc.ini中正确地设置了这个选项,所以tsql和isql都在工作。

我在settings.py中使用了这个默认数据库:

代码语言:javascript
复制
    'ENGINE': 'django_pyodbc',
    'NAME': 'db_name',
    'USER': 'user_name',
    'PASSWORD': 'pw',
    'HOST': 'hostname.domain.com,1433',
    'PORT': '1433',
    'OPTIONS': {
        'host_is_server': True,
        'autocommit': True,
        'unicode_results': True,
        'extra_params': 'tds_version=7.2'
    },

我不得不把它改成:

代码语言:javascript
复制
    'ENGINE': 'django_pyodbc',
    'NAME': 'db_name',
    'USER': 'user_name',
    'PASSWORD': 'pw',
    'PORT': '1433',
    'OPTIONS': {
        'host_is_server': True,
        'dsn': 'dsn_name',
        'autocommit': True,
        'unicode_results': True,
        'extra_params': 'tds_version=7.2'
    },

您将注意到第一个(已损坏的)示例使用'HOST',而第二个(工作)示例使用'dsn‘下面的’选项‘。“

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

https://stackoverflow.com/questions/24389807

复制
相关文章

相似问题

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