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

python - django-pyodbc-azure DatabaseError: ('42000', '[42000] 将数据类型 nvarchar 转换为 int 时出错

我是后端的初学者。试图在我的 Windows 机器上测试 Web 服务。

在 linux 服务器上,我有一台具有以下数据库设置的工作机器:

在向 git 提交任何内容之前,我想在我的 windows pc 上本地运行 web 服务。为此,我正在使用此处提供的 django-pyodbc-azure 1.0.10:

https://github.com/michiya/django-pyodbc-azure/tree/dd87bd3379475ff596210a9243c04c01add0be4d

在我本地的 Windows 电脑上

我相应地更改了我的设置,但它给出了以下错误:

我猜它连接了数据库,但它会产生转换错误。

我正在使用邮递员发布服务

它引发 500 内部服务器错误。但这项服务在 linux 服务器上运行良好。

0 投票
1 回答
589 浏览

django - 如何设置 Django Azure 网站以访问数据库

我正在尝试使用 Azure 网站(不是 Azure 虚拟机)设置我的 Django 站点。我建立了一个包含一些静态页面并正在运行的站点,我创建了一个 Azure SQL 数据库,但是如何连接 Django 站点以使用 Azure db?

0 投票
1 回答
382 浏览

sql - 使用 pyodbc 将 Django 应用程序同步到 Azure SQL 时出错

我正在尝试让我的 Django 应用程序在 Azure 上运行。我让应用程序启动并运行了一些静态页面,但我无法让数据库正常工作。我下载了pyodbc以便 Django 可以与 Azure SQL 数据库通信,并将其放在我的本地计算机和 Web 服务器上。我还升级了 Azure 网站以使用 Django-1.6 而不是默认的 1.4,但我仍在使用 Python 2.7

我已经设置了 Azure 文件墙规则以允许从我的 IP 地址访问

在 settings.py 中,我设置了 DATABASES 部分,如下所示:

当我尝试从本地计算机运行 syncdb 时,出现此错误:

我已经尝试过重新格式化 settings.py ,但仍然得到同样的错误。我尝试将端口号放在 Azure 门户中显示的主机名称之后,并且我尝试在 USER 中使用完整的主机名称。

0 投票
3 回答
14560 浏览

django - 如何将 Django 与 Sql Server 一起使用

我通常使用 Postgres 来满足我对 Django 的数据库需求,但我最近开始在一家在 Windows 环境中使用 MSSQL 的公司工作。长话短说,我不得不重写 settings.py 中的数据库属性。不幸的是,我不知道如何使用 Pyodbc 连接到 SQL Server,而且他们正在运行 Python 3.x,所以我不能使用 Django-Pyodbc。在尝试运行它时,我得到一个:“找不到数据源名称并且没有指定默认驱动程序 (0) (SQLDriverConnect)')”

这是我当前的数据库配置。我可能做错了什么,但很难找到资源,因为大多数 Django+Sql Server 结果要么使用 FreeTDS 要么使用 Django-Pyodbc(两者都不是选项)。

0 投票
3 回答
963 浏览

python - 将 django 应用程序发布到 azure 时出现服务器错误

我正在尝试使用 MSSQL 服务器将我的 django 应用程序发布到天蓝色。我正在使用 django-azure-pyodbc 和 pyodbc 进行连接,虽然它在本地工作,但每当我使用 mssql 发布时,尽管发布成功,我都会收到内部服务器错误。如果我使用预打包的 sqllite3 服务器发布,它可以工作。我正在使用 Python 3.4、Django 1.8.4、pyodbc 3.0.10 和 django-pyodbc-azure 1.8.3.0 的虚拟环境。我的 settings.py 文件如下。

我已将 webapp 的传出 IP 地址添加到服务器,希望这是问题所在,但事实并非如此。检查诊断日志后,我发现比 500 错误更详细的解释,但我不确定我是否理解它。

读取 WSGI 处理程序时发生 Data2 错误:Traceback(最近一次调用最后一次):文件“D:\home\site\wwwroot\env\lib\site-packages\sql_server\pyodbc\base.py”,第 14 行,在 import pyodbc因为 Database ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。在处理上述异常的过程中,又出现了一个异常: Traceback (last recent call last): File "D:\Python34\Scripts\wfastcgi.py", line 711, in main env, handler = read_wsgi_handler(response.physical_path) File " D:\Python34\Scripts\wfastcgi.py",第 568 行,在 read_wsgi_handler 返回 env,get_wsgi_handler(handler_name) 文件 "D:\Python34\Scripts\wfastcgi.py",第 541 行,在 get_wsgi_handler handler = handler() 文件中" .\ptvs_virtualenv_proxy.py",第 120 行,在 get_venv_handler handler = get_wsgi_handler(os.的 new_class.add_to_class('_meta', Options(meta, **kwargs)) 文件“D:\home\site\wwwroot\env\lib\site-packages\django\db\models\base.py”,第 324 行,在 add_to_class value.contribute_to_class(cls, name) 文件“D:\home\site\wwwroot\env\lib\site-packages\django\db\models\options.py”,第 250 行,contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) 文件“D:\home\site\wwwroot\env\lib\site-packages\django\db__init__.py”,第 36 行,在getattr return getattr(connections[ DEFAULT_DB_ALIAS],项目)文件“D:\home\site\wwwroot\env\lib\site-packages\django\db\utils.py”,第 240 行,在getitembackend = load_backend(db['ENGINE']) 文件 "D:\home\site\wwwroot\env\lib\site-packages\django\db\utils.py",第 111 行,在 load_backend return import_module('%s .base' % backend_name) 文件“D:\Python34\lib\importlib__init__.py”,第 109 行,在 import_module 中 return _bootstrap._gcd_import(name[level:], package, level) 文件“”,第 2254 行,在 _gcd_import 文件中"",第 2237 行,在 _find_and_load 文件中 "",第 2226 行,在 _find_and_load_unlocked 文件中 "",第 1200 行,在 _load_unlocked 文件中 "",第 1129 行,在 _exec 文件中"",第 1471 行,在 exec_module 文件中"",第 321 行,在 _call_with_frames_removed 文件“D:\home\site\wwwroot\env\lib\site-packages\sql_server\pyodbc\base.py”中,第 16 行,在 raise ImproperlyConfigured("加载 pyodbc 模块时出错: %s" % e) django.core.exceptions.ImproperlyConfigured: 加载 pyodbc 模块时出错: DLL 加载失败: %1 不是有效的 Win32 应用程序。StdOut: StdErr:

0 投票
2 回答
721 浏览

python - django-pyodbc-azure 回滚错误与以前的工作配置 - 第 389 行

我在 Linux 上使用 django-pyodbc-azure 已经有一段时间了,还有 pydobc、FreeTDS 和 unixODBC 将 Django 连接到 SQL Server 2014。我在一个运行良好的应用程序中遇到了这个问题,并且在调试时遇到了问题它。为了重现这个问题,我启动了一个全新的 Django 应用程序来保持简单。这是我的虚拟环境:

这是我连接到 SQL Server 的数据库配置:

我创建了一个简单的models.py:

这个设置在一个相当复杂的 Django 项目中运行良好,它仍然可以选择到同一个数据库。但是,每当我尝试进行更新或迁移时,我都会收到此错误:

奇怪的是它成功地在 SQL Server ([home_testtemp]) 中创建了表,并且似乎在不必要的回滚时出错。关于进一步调试或解决问题的最佳方法的任何想法?当我./manage.py sqlmigrate home直接针对使用此用户名和密码登录的数据库运行 SQL 输出时,它工作正常。

提前致谢。

更新 1:这不是一个好的解决方法,但可以解决似乎不应该调用回滚的问题。此更改是在 django-pyodbc-azure 中 base.py 的第 389 行进行的:

这很丑陋并且摆脱了保护措施,但同时使事情正常进行。在 django-pyodbc-azure 中的第 389 行附近修改 base.py:

显然,仍在寻找实际修复而不是破解和根本原因。

更新 2:将上面更新 1 中对原始 django-pyodbc 所做的更改撤消。然后在设置中,将 tds_version 更改为7.07.1。有用。如果将其更改为7.2or 7.3,则会中断。这可能是从 SQL Server 2008 开始可用的新 DATE 字段的问题吗?无论哪种方式,临时解决方案是恢复到 TDS 版本 7.1,这显然是对修复有用的信息。

0 投票
1 回答
784 浏览

python - Django 1.9 升级“不支持”问题

我一直在我的项目中使用 Django 1.8.7,在昨天的发布之后我已经升级到 1.9(我正在使用 VS PVTS 并从我的虚拟环境中删除了 Django 1.8.7 并再次安装了 requirements.txt 中的包) .

但是,每当我尝试构建和运行我的项目时,它都会在manage.py中给我一个错误:

说:

不支持 Django 1.9.0。

我正在使用Django、pyodbc、django-pyodbc-azure、请求模块。

可能是什么问题?

谢谢你。

0 投票
2 回答
4812 浏览

python - 尝试使用 django-pyodbc-azure 连接到 MSSQL 导致找不到文件错误

我认为我的问题或多或少是Trying to query SQL Server from django running on Linux - Can't open lib '/path/to/libtdsodbc.so'的重复,但那里的答案完全没有用。

我正在使用以下东西:

  1. Ubuntu 15.04
  2. Python3
  3. Django 1.9(通过 pip3 安装)
  4. freetds-dev 0.91-6build1通过 apt-get 安装
  5. django-pyodbc-azure/django-pyodbc通过 pip3 安装
  6. 微软 SQL 2012

尝试连接时,python3 manage.py inspectdb我得到以下堆栈跟踪:

我编辑了 base.py 以打印出它正在使用的连接字符串,即:

我的数据库 settings.py 如下所示:

我的假设是DRIVER连接 str 的部分应该是 odbc 驱动程序的可执行文件的完全限定路径,并且现在它设置为“FreeTDS”,它不作为文件存在。那么我的问题是:

  1. 如果我的假设是正确的,我该如何更改驱动程序的值?
  2. 如果我的假设不正确,实际上是什么错误,我该如何解决?
0 投票
1 回答
2984 浏览

sql-server - Django+sql 服务器 - 没有名为 sql_server.pyodbc.base 的模块

我想SQL Server用作Django.

我安装 pyodbc、django-pyodbc、django-pyodbc-azure

settings.py我替换数据库

如果我运行 python manage.pysyncdb 错误:

我使用 Visual Studio + Python 2.7

0 投票
3 回答
3052 浏览

django - django-pyodbc-azure - 如何使用模式

我正在使用 django-pyodbc-azure ( https://github.com/michiya/django-pyodbc-azure ),一切正常。但是,当我迁移模型时,会在 SQL Server 数据库上创建一个名为“dbo”的新模式。我想使用已经存在的“sp”模式,有没有办法设置工作模式?

提前致谢。