问题标签 [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 回答
338 浏览

python - Introspection Bug - 在数据库级别而不是架构级别查找 django_migrations

更新 6:在讨论 IRC #django 上的问题后,我认为是自省数据库并在数据库级别而不是架构级别django-pyodbc-azure寻找。django_migrations因此,它在数据库级别(来自原始应用程序)找到它,因此无法创建它。这可能是自省中的一个错误django-pyodbc-azure

更新 5:我对模式进行了三次检查,除了名称之外它们是相同的。我还更新django-pyodbc-azuredjango最新的 1.11 版本。我很茫然。

更新 4:我添加了一个名为django_migrations新模式的表,错误更改为invalid column name 'app'. 所以看起来这些表格最初应该在那里。但是,正如我在最初的问题中提到的,这是不可能的,而不是过去的做法。

更新 3:除了原始项目的模式(已经有表,包括 django_migrations)之外,没有其他模式有效。创建该架构时,在运行诸如python manage.py runserver.

更新 2:架构差异是根本问题。我将原始用户的默认架构更改为我希望新应用使用的新默认架构,并且发生了同样的错误。为什么一种模式有效,而另一种模式无效?

更新:这似乎是不同用户的问题。两个用户都具有相同的 SQL Server 权限。每个用户都有一个为此目的而创建的不同默认模式。原始项目的用户在数据库中已有表(包括 django_migrations)。

原来的:

蟒蛇:3.6.4

django:1.11.9

django-pyodbc-天蓝色:1.11.9

我有一个 django 项目 ( myProject) 和一个 django 应用程序 ( myApp)。该项目在包含django-pyodbc-azure连接到 SQL Server 的 conda 环境中运行。

对默认设置所做的唯一更改如下:

  1. 添加myApp.apps.MyAppConfigINSTALLED_APPS
  2. 改为DATABASES

    /li>

当我尝试运行python manage.py runserver时,出现以下错误:

为什么会出现这个问题,我该如何解决?似乎它正在django_migrations数据库中查找,但尚未创建任何表。实际上,无法创建表,因为python manage.py makemigrations会导致相同的错误。

这是我建立的第二个 django 项目。第一个使用相同的DATABASES设置(除了作为不同的用户获得不同的默认模式)和相同的环境完美运行。

0 投票
3 回答
1899 浏览

django - django-pyodbc-azure 没有名为“sql_server”的模块

我正在尝试使用公司 SQL Server 作为我的 Django 项目的后端,使用 Python 3.5.2。我已经安装了 Django 2.0.3、pyodbc==4.0.22、django-pyodbc-azure 2.0.3、pypiwin32==219(下面的点冻结)。我还在我网站的 settings.py 中配置了 DATABASES(见下文)。尝试运行服务器时出现以下错误:没有名为“sql_server”的模块。我引用了其他问题,其中最相关的似乎是:没有名为 sql_server.pyodbc.base 的模块,得出的结论是 django-pyodbc-azure 和 Django 版本需要相同。然而,这并没有解决我的问题;同样的错误仍然存​​在。

已安装的软件包:

数据库:

(注意:无论有没有“选项”设置,我都尝试过这个)。

0 投票
1 回答
490 浏览

python - Docker 容器上的 Django MSSQL 服务器不会迁移

更新:已解决

我在 virtualenv 上使用 macOS、Django 2.0,以及启动并运行 SQL Server 2017 的 Docker 容器。我正在尝试使用这个包:https ://github.com/michiya/django-pyodbc-azure

这是我的数据库 settings.py 设置:

问题是,当我进行python manage.py makemigrations迁移时,但是当我尝试将迁移应用到数据库(python manage.py migrate)时,我得到:

如果我使用 sqlite(默认 Django 数据库),而不是我应该得到的,它是:

我不知道可能是什么问题,理论上如果我按照这个步骤(在 Windows 上)它工作得很好。

ODBC 连接显然正在工作,因为如果我设置了不正确的用户名/密码,我会收到错误消息。我的数据库(托管在 0.0.0.0:1402 上的容器)名称确实是 TUTORIAS_DATOS

0 投票
1 回答
681 浏览

django - 使用 django 连接到旧版 informix 数据库

我正在尝试使用 Django 连接到现有的 Informix 数据库,我正在使用 django-pyodbc-azure 通过 odbc 处理连接,在 python 解释器中尝试时连接工作正常:

所以这项工作很好,但在 django 我创建了这样的数据库连接参数:

因此,当我启动服务器时,出现以下错误:

我的计算机在 windows 7 64 位上运行,带有 informix 数据库的服务器在我的本地网络上。任何帮助都会很棒。

编辑:ODBC 跟踪

所以我DIAG [01S00] [Informix][Informix ODBC Driver]Invalid connection string attribute. (-11005)在 odbc 跟踪中确实有错误,现在的问题是如何从pyodbc.connect('DSN=test_ifx;UID=test;PWD=test')哪个工作到 Django DATABASES 参数

0 投票
2 回答
6680 浏览

pyodbc - Django 2.1 SQL Server 17 错误 - 不是可用的数据库后端。尝试使用'django.db.backends.XXX'

我尝试切换到以下 DATABASE 设置,但没有成功。

我能够访问 SQLLite 数据库,并且能够运行 pyodbc 导入(直接通过 Python),但无法在 Django 中使用它。

我已经提到了以下关于堆栈溢出的问题(没有运气)。 解决方案 1 解决方案 2 和他们现有的 Django/SQL Server 版本比我设置的要旧得多。我不想从 Django v2.1 降级到更低的版本,只是为了支持 SQL Server 数据库而不检查是否有其他选项。

我验证并将以下站点包添加到我的环境/系统路径变量中:

运行以下代码确实会访问数据库并取回数据,所以我知道它不仅仅是 Python,而且可能是 Django。

0 投票
2 回答
4725 浏览

python - django-pyodbc-azure 2.1.0.0 不支持 Django 2.1.0

我们正在尝试将 Django-2.1 与 MS SQL Server 2012 连接起来。我们正在寻找用于此目的的模块,但偶然发现了 django-pyodbc-azure。我们 pip 安装了它,在重新启动应用程序时,我们收到以下错误消息:

我们已经尝试了许多版本的 Django,例如 2.x、2.0.4、2.1,并且所有版本似乎都抛出了相同的错误,即

Django 2.x.x is not supported.

settings.py 中的数据库信息:

任何线索将不胜感激。谢谢。

0 投票
1 回答
784 浏览

python - django-pyodbc-azure SQL Server 参数限制

姜戈:1.11

我正在django-pyodbc-azure用作我的 Django 后端。它正在连接到 SQL Server 2012。SQL Server 的参数限制为 2,100 个。当我尝试prefetch_related在将返回超过 2,100 个结果的查询集上使用时......

...返回此错误:

它指向 .pyodbc 使用的后端django-pyodbc-azure。查看功能时(https://github.com/michiya/django-pyodbc-azure/blob/azure-2.1/sql_server/pyodbc/features.py),没有max_query_params设置。我试图手动添加max_query_params = 2100. 这导致了同样的错误。将该值设置为 2000 和 1000 也会导致相同的错误。

如何调整django-pyodbc-azure以自动处理此 SQL Server 限制?

Django 的 Oracle 后端具有这样的功能:https ://github.com/django/django/blob/master/django/db/backends/oracle/features.py

更新:

我意识到这个max_query_params名字对于 Django 2.0 来说是新的。因此,我尝试max_limit_in_size匹配 Django 1.11。仅仅是django-pyodbc-azure不支持控制参数计数和base.py覆盖 Django 的默认值base.py吗?

更新 2:

我升级到 Django 2.1 并升级django-pyodbc-azure到匹配。然后我进行了编辑features.py以添加max_query_params = 2000为功能。另一个max_query_params出现在 Django 本地后端的地方是operations.py在这个函数中(Oracle 示例):

django-pyodbc-azure也有这个功能,它看起来像这样:

似乎它已经处理了max_row_values设置为 1000 的批处理。但是,同样的错误仍然存​​在。我也尝试将1000更改max_query_params为无济于事。

这是完整的追溯:

0 投票
1 回答
299 浏览

sql - Django 2.0+ 和 SQL Server 接口问题

为什么需要同时安装 Pyodbc 和 django-pyodbc-azure 才能与 Django 的最新 SQL Server 版本交互?为什么 django 不能直接使用 Pyodbc?我无法让 Sql Server 与 python 3.4.5、Django 2.1、pyodbc 4.0+ 和 Django-Pyodbc-azure 2.0.8 配合使用。尝试查询我用 inspectdb 反映的某些模型时,我不断收到分段错误。

我使用的 linux 版本是 openSUSE 42.1 我使用的 Sql Server 版本是 2014。

0 投票
0 回答
649 浏览

python - 无法从 Heroku 上的 Django 连接到 SQL Server

我的网站只会从 SQL 服务器加载现有表(品牌)并显示到索引页面。我可以在我的机器上毫无问题地运行该网站,但是当我将项目部署到 Heroku 时,该表似乎不存在。

(如果网站未连接到 SQL Server,则部署工作正常。)

这些是我的设置:

运行时.txt

档案

设置.py

模型.py

视图.py

我在 Heroku 上添加了 2 个构建包

  1. https://github.com/heroku/heroku-buildpack-apt
  2. Heroku/蟒蛇

在我的 Aptfile

在我的 requirements.txt

包已经构建成功,但是网站给出了这个错误

错误截图

请帮忙!谢谢!!

==============================

更新:

我发现 Heroku 会自动创建并附加我不想要的 postgresql。因此,我删除了 postgresql 并将错误更改为 Can't open lib 'ODBC Driver 17 for SQL Server' : file not found。:( 我想我必须对 DATABASE_URL 配置做点什么。

0 投票
2 回答
12289 浏览

python - Django python 'sql_server.pyodbc' 不是可用的数据库后端

我正在尝试将我的 Django 应用程序连接到 apache 服务器上的 microsoft sql 数据库,但我收到以下错误消息:

我已经安装了 django-pyodbc-azure 并且它显示为(点冻结列表)的一部分:

这是 settings.py 数据库配置:

在 site-packages 文件夹中,它不显示实际的 django-pyodbc-azure 文件夹,但是当我运行命令(pip show django-pyodbc-azure)时,它会显示包位置(/usr/local/lib/python3. 5/dist-packages) 这意味着它已成功安装。

所以我不确定是什么问题。