问题标签 [django-pyodbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
768 浏览

python - 无法在 cursor.execute 查询中提供 % 通配符

我正在使用 Django 与 SQL Server 交互django-pyodbc。我正在尝试围绕我将传递给的存储过程构建一个带有可选参数的查询cursor.execute

我正在手动构建查询,以便仅在通过 POST 发送 SP 变量时才提供它们,这基本上将我引向了这一点:

我最终得到以下查询和参数元组:

通过执行将这些传递给游标:

我得到错误not enough arguments for format string。我想知道这是否与%python 字符串中的用法有关,所以我使用以下查询将它们加倍:

并最终出现此错误:not all arguments converted during string formatting

我还研究过尝试将通配符移动到存储过程定义中,但这没有用,我现在已经阅读了 SO 也是不明智的。

编辑:正如下面Martijn Pieters所建议的,我已将通配符移动到值元组中,我同意这可能是正确的方法,但这并没有解决问题,仍然导致错误not all arguments converted during string formatting

0 投票
3 回答
3230 浏览

python - 无法使用 django-pyodbc 从 django 查询 SQL Server

我正在尝试将在 IIS 7 上远程运行的 SQL Server 2008 R2 数据库同步到在 Windows 7 上运行 python 3.3 的 django 1.6 应用程序,使用manage.py syncdb. 但是我遇到了错误,

我安装了 django-pyodbc 0.2.3 和 pyodbc 3.0.7,我的 settings.pyDATABASES为,

正如您可能猜到的那样,USER并且PASSWORD由于我需要Integrated_Security=YesTrusted_Connection=Yes连接而被省略。OPTIONS由于 django-pyodbc 初始化 class 的方式,似乎必须是非空的DatabaseWrapper,即使host_is_server在 Windows 上是不相关的。

我收到的完整错误是:

如果您查看从顶部开始第十次调用的源代码,django_pyodbc/operations.py正在查询 SQL Server 版本的连接,

然而,到调用堆栈结束时,这条要执行的sql已经消失了。django_pyodbc/base.py有,

第一个参数未被识别为“字符串或 Unicode 查询”。

Python、django 和 SQL Server 对我来说都是新的,所以答案可能很明显,但我一辈子都无法解决。干杯。

0 投票
2 回答
4917 浏览

pyodbc - django-pyodbc: Data source name not found, and no default driver specified

I'm using Ubuntu 12.04 server, Django 1.5.5, pyodbc-3.0.7 and I am trying to connect to a MSSQL 2005 server. I've installed django-pyodbc through pip and modified my settings.py like so:

But when I try to run syncdb I get:

The ODBC driver installed on the Windows machine is:

What else do I need to do? Are there any other drivers that I need to install on either the Linux or Windows machine?

0 投票
2 回答
7738 浏览

sql-server - FreeTDS:用户登录失败

我正在尝试使用 FreeTDS 连接到 MSSQL 2005 服务器。

但我收到“用户登录失败”错误。FreeTDS手册中有一个部分故障排除部分但它没有提到任何与之相关的可能错误。我的 tsql 连接字符串有问题吗?还是在 MSSQL 端配置错误?

我能够使用相同的凭据连接到 SQL Server 管理。

这就是我正在使用的输出(我已经删除了 ipnumber 和用户名):

还有我的编译时间设置:

我在 Ubuntu 12.04 上,我像这样安装了 FreeTDS:

0 投票
2 回答
2022 浏览

sql-server - django-pyodbc:MSSQL unicode 问题

我在使用 和 登录 Django 上的用户时django-pyodbc遇到freetds问题unixodbc。我可以毫无问题地运行syncdb和连接。pyodbc

我得到的完整错误是:

freetds 配置文件:

odbcinst.ini

odbc.ini

如果我通过 登录用户django-debug-toolbar's debugsqlshell,我可以看到这些是在异常之前发生的查询:

但是,当我仅使用以下方式运行这些查询时pyodbc

它可以毫无问题地获取和插入。我遇到的唯一问题是我必须删除日期字符串中的时间和时区。我假设这与我的问题无关。

这些是我的 Django 数据库设置:

完整追溯:

0 投票
1 回答
114 浏览

python - 修补 django-pyodbc 中的错误

我正在尝试修补此错误并遇到问题。django-pyodbc 是 django 的 SQL Server 后端,该错误导致任何 sql 在 python 3.x 中转换为字节类型,当尝试执行时会引发 TypeError(必须是字符串或 unicode)。

这是我在 my_app/pyodbc_patch/base.py (该文件夹中唯一的文件)中的代码:

我的settings.DATABASES

据我从 django 源中可以看出,django.db.utils.ConnectionHandler从中获取引擎DATABASESdjango.db.utils.load_backend导入其base模块。但是,我得到的错误与我没有应用补丁完全相同。这对我来说完全没有意义,因为 pyodbc_patch 会导入 django_pyodbc 本身,所以我无法想象错误的版本CursorWrapper.format_sql会被更早地调用。

另一种选择是修复我的本地副本 django_pyodbc。不幸的是,我只有 Python33/Lib/site-packages/django_pyodbc-0.2.3-py3.3.egg 我不知道如何编辑 egg 文件。我真的束手无策。这是我第一次涉足 python 和 django,如果我知道它会如此混乱,我绝对会坚持使用 ruby​​ 和 rails。

非常感谢任何帮助。

0 投票
1 回答
373 浏览

python - django-pyodbc DatabaseError 消息已连接

我在 Django 1.6.1 上使用 django-pyodbc

当我跑步时manage.py syncdb,一切都很好。

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

引发错误:

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

0 投票
3 回答
674 浏览

django-pyodbc - 无法使用 django-pyodbc 连接到旧数据库

我已经安装了 django-pyodbc 并将我的数据库设置配置为:

  1. 开发:Windows XP(64 位)、Python 3.3、MDAC 2.7
  2. 数据库:远程 MSSQL 2008

    /li>

我可以远程登录到服务器,我可以通过第 3 方 GUI Aqua Data Studio 访问数据库 - 所以我知道登录问题没有防火墙问题

当我尝试运行此命令以自省遗留数据库时,我收到此错误...

我错过了什么?将不胜感激一些反馈。谢谢

0 投票
1 回答
857 浏览

python - DjangoUnicodeDecodeError:“utf8”编解码器无法使用 pyodbc-azure 解码

我使用pyodbc-azure 1.1.5 将我的 django 项目连接到 SQL Server 数据库(异常,我知道)我的客户端是SQL Server Native Client 11.0

当我尝试打开相应的 change_list 时,我收到此错误:

讨厌的字符是Ñ。我检查了我的数据库的编码,我得到的是Modern_Spanish_CI_AS,我相信它相当于'latin1'或'cp1252'。

我试图修改 pyodb\base.py 替换 utf-8 出现在 cp1252 或 latin1 的任何地方(遵循本期中描述的提示),但错误仍然是指 utf8。

我还可以做些什么?(除了改变后端)

0 投票
1 回答
653 浏览

python - 用于 Linux 上 Django 的 SQL Server 2008/2012 后端模块?

我是 Django 新手,我正在开发一个需要使用 SQL Server 的项目。我已经广泛研究了将 Django 与 SQL Server 结合使用,似乎 django-pyodbc 是要走的路。在pydobc页面上,它提到仅支持 SQL Server 2000 和 2005。但是,在提出的其他问题上,似乎 2008 得到了一些支持。

是否可以在 Linux 环境中将 Django 与 SQL Server 2012 一起使用?

请指出我正确的方向!谢谢!