问题标签 [django-mssql-backend]

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 投票
2 回答
6411 浏览

django - 将 Django 连接到 Microsoft SQL 数据库

我想将我的 django 应用程序连接到 MS-SQL server 2014 数据库。我写了这段代码来建立连接。

我已经安装了 sql_server.pyodbc

如文档https://pypi.org/project/django-pyodbc-azure/中所述。我仍然收到错误

django.db.utils.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

0 投票
1 回答
139 浏览

python - 带有外部连接 SQL SERVER 的 Django 2.2

在我的 python 3.7 + Django 2.2 中,我需要连接到外部 SQL Server。它不是 Django 的主数据库(保留在 Postgres 中)。我只需要对视图进行一些查询。

我在 Debian 9 上,我试图安装软件包以添加 sql server 连接,但我在谷歌上找不到关于要安装的 Debian 软件包的指南。

我尝试安装:

但编译失败。我想我缺少一些系统库。

更新 1

这解决了库安装。现在我在尝试连接到数据库时遇到了问题:

谢谢。

0 投票
1 回答
307 浏览

python - AttributeError: module 'six' has no attribute 'memoryview' occurs when configuring django database for django-mssql

My Django is the latest version, python3.8. I want to configure the database for sql server 2008 R2, so I install django-mssql(aka,sqlserver_ado). After running the server, an error occurs:

Following this suggestion,

I open "C:\Program Files\Python38\lib\site-packages\sqlserver_ado\dbapi.py" and change "from django.utils import six" to "import six" , as well as upgrading the six module to latest version.

And this time another Error raised:

I check the six module, and yes, it doesn't include a single word named "memoryview". But why the dbapi.py include the code "Binary = six.memoryview"? And I search "six.memoryview" on Google.So many results but I can't understand.

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

python - 应用 auth.0008_alter_user_username_max_length...Traceback(最近一次调用最后一次),django mssql 后端迁移错误

请,需要帮助;我使用 django 3.1 的最新版本,使用 django-mssql-backend 迁移 ms sql 数据库,当我尝试迁移时遇到了这个问题:auth.0008_alter_user_username_max_length...Traceback(最近一次调用最后);

0 投票
1 回答
211 浏览

django - 使用 django-mssql-backend 的数据库错误连接

我必须更新一个使用django 1.8,pyodbc 3.0.10和. 对于我需要使用的新版本,主要区别是使用了代替,我有这样的配置:django-pyodbc-azure 1.8.3.0python 2.7.11django 3.1.3pyodbc 4.0.30django-mssql-backend 2.8.1python 3.9.0django-mssql-backend 2.8.1django-pyodbc-azure 1.8.3.0settings.py

使用旧版本连接正常,但是当我更新项目时给我这个错误:

('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]TCP 提供程序:无法建立连接,因为目标计算机主动拒绝它。(10061) (SQLDriverConnect); [08001] [Microsoft][SQL Server Native Client 11.0]Login timeout expired (0); [08001] [Microsoft][SQL Server Native Client 11.0]连接字符串属性无效(0); [08001] [Microsoft][SQL Server Native Client 11.0]网络相关或在建立与 SQL Server 的连接时发生特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。( 10061)')

据我所知,我有正确的配置。有人知道我是否错过了什么?

0 投票
1 回答
360 浏览

django - 使用布尔字段的 Object.Filter() 错误

当我尝试使用时model.objects.filter(mybooleanfield=True)给了我这个错误

但这只有在使用过滤器时才会发生,BooleanField如果我使用PositiveIntegerField, CharField, DateTimeField or TextField过滤器没有问题。我认为这可能适用于我使用的版本

我需要将我的BooleanField. 有人知道为什么会这样吗?

0 投票
1 回答
299 浏览

python - Django MSSQL:覆盖外键约束名称生成

我正在尝试使用 django-mssql-backend 在 Django 3.0 中创建数据库模型,就像 SQL Server 2019 的 db backend 一样。数据库对其中包含的表使用多个模式,其中一些表是非托管的(已经存在) ,以及其他通过迁移从头开始创建的。为了使多个模式正常工作,我使用了我在此处的另一个答案中找到的技巧,该技巧建议将表名格式化如下:

这是为了使 SQL 编译为使在外部自动形成的包裹方括号完成模式/表定义。这样做的问题是 ForeignKey 对象的约束名称使用此表名称生成,这会导致出现无效的约束名称,从而导致在创建表后迁移失败,并且是时候创建约束了。\

它们生成如下:
[schema1].[table1_colname_id_bc165567_fk2_schema2].[table_colname]

有没有办法覆盖这种行为?如果可以通过分叉后端并添加手动编译代码来覆盖它,我将如何去做呢?否则,如何在使用多个模式并充分利用 Django 附带的 ORM/迁移时在我的模型中拥有外键?

0 投票
1 回答
142 浏览

sql-server - 如何为 Django 指定正确的模式格式?“错误:无法准备语句。(8180)”

当我尝试在 Django 中运行特定于数据库的操作时,出现以下错误。

('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无效的对象名称'django_session'。(208) (SQLExecDirectW); [42S02] [Microsoft][ODBC Driver 17 for SQL服务器][SQL Server]无法准备语句。(8180)")

我一定错过了一个设置。默认情况下,Django 会发送格式错误的 SQL 命令字符串,这里有两个格式错误的示例。第一个是当我尝试登录管理门户时:

当我尝试从名为的表中加载数据时dbo.Testing

我对几个表使用不同的模式。如何将 Django 指向正确的设置,以便它实际上可以指向 SQL Server 中的正确表?