0

我正在尝试让我的 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 ,但仍然得到同样的错误。我尝试将端口号放在 Azure 门户中显示的主机名称之后,并且我尝试在 USER 中使用完整的主机名称。

4

1 回答 1

0

看起来不支持 iODBC。然而,unixODBC 是受支持的。我能够启动 Azure Ubuntu VM 并按照指南运行 syncdb。不理想,但它现在可以工作。

于 2013-12-19T00:59:36.940 回答