Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用本机windows db驱动程序在windows上为远程mssql db运行django迁移_Python_Sql Server_Django_Azure - Fatal编程技术网

Python 使用本机windows db驱动程序在windows上为远程mssql db运行django迁移

Python 使用本机windows db驱动程序在windows上为远程mssql db运行django迁移,python,sql-server,django,azure,Python,Sql Server,Django,Azure,在我的一生中,我一直试图避免使用微软技术进行开发,但也许作为对我过去最大的罪恶的惩罚,我现在被迫使用它们 我正在Python2.7上开发一个django应用程序,作为web应用程序部署在azure上。我需要运行migrate来创建初始数据库。我必须在我正在开发的机器上完成这项工作,这是一台Windows7笔记本电脑。切中要害;这是我的数据库设置: DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': '

在我的一生中,我一直试图避免使用微软技术进行开发,但也许作为对我过去最大的罪恶的惩罚,我现在被迫使用它们

我正在Python2.7上开发一个django应用程序,作为web应用程序部署在azure上。我需要运行migrate来创建初始数据库。我必须在我正在开发的机器上完成这项工作,这是一台Windows7笔记本电脑。切中要害;这是我的数据库设置:

DATABASES = {
'default': {
    'ENGINE': 'sql_server.pyodbc',
    'NAME': 'mydbname',
    'USER': 'mydbuser',
    'PASSWORD': 'mypass',
    'HOST': 'mydbinstance.database.windows.net',
    'PORT': '1433',
    'OPTIONS': {
        'driver': 'SQL Server Native Client 11.0',
        'MARS_Connection': 'True',
    }
  }
}
当我将应用程序部署到azure时,应用程序可以使用此配置连接到db。所以我想我需要能够以完全相同的配置连接到db。我已经安装了pyodbc、django pyodbc azure模块,并安装了SQL Server本机客户端11.0 ODBC驱动程序。但是当我跑的时候

python manage.py migrate
我收到以下错误消息:

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

通常我一开始会说这可能是我的django设置的问题,但我可以确认azure上的应用程序可以连接到具有相同配置的同一个db,因此我认为这是我的本地配置的问题。是什么导致了这种情况?

似乎我需要在本地计算机上的“管理服务”的“数据源”选项卡下创建一个dsn。使用SQL Server本机客户端11.0创建dsn解决了连接问题