使用pyodbc将syncdb Django应用程序更新到Azure SQL时出错

时间:2013-12-18 18:48:03

标签: sql django azure django-pyodbc-azure

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

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

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

'ENGINE': 'sql_server.pyodbc',
'NAME': 'django-sql',         
'USER': '<username>@<server>',
'PASSWORD': '<password>',
'HOST': '<server>.database.windows.net',
'PORT': '1433',            
'OPTIONS': {
    'driver': 'SQL Server Native Client 11.0',
    'MARS_Connection': True,
},

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

django.db.utils.Error: ('00000', '[00000] [iODBC][Driver Manager]dlopen({SQL Server Native Client 11.0}, 6): image not found (0) (SQLDriverConnect)')

我尝试过重新设计settings.py,但仍然会遇到同样的错误。我尝试将PORT编号放在Azure门户中显示的HOST名称之后,我尝试在USER中使用完整的HOST名称。

1 个答案:

答案 0 :(得分:0)

看起来不支持iODBC。但是,unixODBC受到支持。我能够启动Azure Ubuntu VM并按照this指南运行syncdb。不太理想,但它现在都可以使用。