问题标签 [django-pyodbc-azure]

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 回答
675 浏览

django - 为什么 Django 不连接到 SQL Server 2019?

请参阅下面的屏幕截图以了解现有配置(出于安全原因隐藏密码)。

数据库截图 1

Python 包

我尝试运行服务器时返回的错误是不支持 SQL Server v15 或不支持 Django 3.0。有没有人有同样的问题和一个干净的解决方案?

编辑:我已更改环境以删除 django-pyodbc、django-pyodbc-azure 和 django-pyodbc-azure-2019。该环境仍然安装了 django-mssql-backend。但是,它说“sql_server.pyodbc”不是可用的数据库后端。

0 投票
1 回答
791 浏览

python - 将 Django 从 2.1 升级到 2.2.13 时如何修复 pyodbc 依赖错误?

由于版本 2.1 已被标记为不安全,我需要至少升级到 >=2.2。Github 安全建议安装 2.2.13。我还需要安装仅适用于 Django >=2.2 的其他软件包。

Django 升级成功,但是当 pipenv 尝试锁定依赖项时,我收到此错误:

我用谷歌搜索了这个,我停止收到此错误的唯一方法是将这两个依赖项放在 [dev-packages] 下:

但是当我尝试运行服务器时,我得到了这个:

我也用谷歌搜索了这个,出现的解决方案是手动更改引发此错误的条件。我这样做了,然后我得到了另一个错误:

我也用谷歌搜索了这个,但对其他人有用的解决方案对我不起作用。我已经被困在这一点好几天了。请发送帮助!

其他信息:我正在使用这两个参数:

注意:如果您知道我可以将这些包与更新版本的 Django 一起使用的另一种方式,请分享。

0 投票
1 回答
201 浏览

python - 在将 django 表单保存到 mssql 数据库时,将数据类型 nvarchar 转换为数字时出错

我将 django-pyodbc-azure 与 mssql 一起使用,并且在我的 models.py 中将一些字段设置为外键:

我已经像这样写了我的 forms.py :

处理将我的表单数据保存到数据库的函数如下:

当我从 forms.py 和模板中删除与“unitId”相关的行时,整个代码工作得非常好,并且数据被插入到数据库中。但是当我添加与“unitId”相关的行时,我收到此错误:('42000','[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Error convert data type nvarchar to numeric.(8114 ) (SQLExecDirectW)') 我不明白“unitId”字段有什么问题

0 投票
0 回答
195 浏览

django - pyodbc 错误“系统错误:返回带有错误集的结果”

我正在使用 Django 开发报告仪表板。我正在使用django-pyodbc-azure从外部数据库(ms SQL server 2012)中提取数据。当我使用manage.py runserver在本地主机中提取数据时,我遇到了一个奇怪的问题,它可以从数据库中提取数据,但是当我在生产服务器中运行相同的查询时,它会返回此错误。查询有点大,需要 50 秒 + 时间。

SystemError: <class 'pyodbc.Error'> 返回带有错误集的结果

我的生产服务器是 ubuntu 18.4 和 Nginx。

我做了一些谷歌搜索,但没有找到任何答案。

0 投票
0 回答
162 浏览

sql-server - 从 FreeTDS 驱动程序迁移到 MSODBC17 驱动程序

我需要将我们的 sql 驱动程序从 FreeTDS 更改为 msobdc17 以获得 msi 支持。该问题导致我们的插入操作性能下降。具体来说,当我们批量插入(批量大小〜= 50)时,访问同一数据库的并发进程(尽管有不同的连接)的性能会大大降低。我收到以下错误 - 可能相关:

无法执行事务操作,因为有处理此事务的待处理请求

我正在使用以下堆栈环境:

在此之前,我们有 FreeTDS 的版本:

到目前为止,我试图“玩”:

  1. 启用火星
  2. 启用池连接
  3. 设置Threading=1odbcinst.ini

这些都没有帮助。

是否有人遇到过这个问题或有关配置参数的任何建议可以提供帮助?

0 投票
1 回答
130 浏览

sql-server - 参数化的原始 sql 查询比使用实际值的查询慢得多

我正在尝试在连接到 SQL 服务器的 Django 应用程序中使用 connections[].cursor() 执行原始 sql 查询。当我在查询字符串中提供实际值时,查询的执行速度要快得多(<1s)。

但是,当我在 cursor.execute() 方法中将值作为参数提供时,查询会变得慢得多(2 分钟)。

我还应该提到,只有在未提供条件的情况下,才在 SSMS 上执行查询实际上很慢:

就好像当 Django 发送查询时,它在没有参数的情况下执行(因此响应时间很长),然后提供参数以便过滤结果。

有问题的值由用户提供,因此它们会更改并且必须作为参数传递,而不是直接在查询中传递,以避免 sql 注入。该查询也比上面给出的示例复杂得多,并且不能完全映射到模型,因此我必须使用 connection[].cursor()

0 投票
1 回答
1011 浏览

sql-server - django-mssql-backend - 无效的连接字符串属性(0)

好吧,我慢慢要疯了。我想将 Django 3 连接到 MSSQLv15 服务器。如果我使用 Trustedconnection=yes(使用 win 凭据),则连接可以工作,如果我使用 FreeTDS v7.4,它也可以在 Ubuntu 上工作,但如果我手动插入服务帐户或个人凭据并使用 sql 登录,它将无法在 Windows 中工作。是某种依赖问题吗?我尝试了各种库版本组合,但无济于事。

错误信息是:

要求.txt

不工作(赢)

工作(赢)

工作(Ubuntu)