Python 使用本机windows db驱动程序在windows上为远程mssql db运行django迁移
在我的一生中,我一直试图避免使用微软技术进行开发,但也许作为对我过去最大的罪恶的惩罚,我现在被迫使用它们 我正在Python2.7上开发一个django应用程序,作为web应用程序部署在azure上。我需要运行migrate来创建初始数据库。我必须在我正在开发的机器上完成这项工作,这是一台Windows7笔记本电脑。切中要害;这是我的数据库设置: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': '
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解决了连接问题