Intenté instalar django_pyodbc pero cuando intento hacer migraciones aparece el error:
django.core.exceptions.ImproperlyConfigured: Django 2.1 no es compatible.
Mi configuración.py:
'Test_DB': { 'ENGINE': 'django_pyodbc', 'NAME': 'TEST', 'HOST': '127.0.0.1', 'USER': 'sa', 'PASSWORD': '123456', 'OPTIONS': { 'driver': 'ODBC Driver 12 for SQL Server', }, },Cuando intento instalar django-pyodbc-azure, aparece el otro error:
Intente usar 'django.db.backends.XXX', donde XXX es uno de: 'mysql', 'oracle', 'postgresql', 'sqlite3'
Mi configuración.py:
'Test_DB': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'TEST', 'HOST': '127.0.0.1', 'USER': 'sa', 'PASSWORD': '123456', 'OPTIONS': { 'driver': 'ODBC Driver 12 for SQL Server', }, },Entonces, ¿qué debo hacer para poder conectar el SQL Server 2012?
Busqué este problema durante mucho tiempo.
Realmente me siento enojado porque nadie realmente dice los detalles, es por eso que quiero escribir para ayudar a aquellos que están a punto de enfrentar esta pregunta.
Descubrí que debería hacer lo siguiente para poder ejecutar pyodbc en Django.
1. Primero instale "ODBC Driver 11 para SQL Server e instale pyodbc"
Dado que mi servidor usa el controlador ODBC 11 para extraer datos, debería cambiarlo de 17 a 11
Ejecute pip install pyodbc en la terminal
2. configuración.py:
DATABASES = { 'MSSQL': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'DB_NAME', 'USER': 'USER', 'PASSWORD': 'PWD', 'HOST': 'IP', 'PORT': '1433', 'OPTIONS':{ 'driver': 'ODBC Driver 11 for SQL Server', }, }}
3. vistas.py:
import pyodbc from django.conf import settings connection = pyodbc.connect( "Driver={" + settings.DATABASES['MSSQL']['OPTIONS']['driver'] + "};" "Server=" + settings.DATABASES['MSSQL']['HOST'] + ";" "Database=" + settings.DATABASES['MSSQL']['NAME'] + ";" "UID=" + settings.DATABASES['MSSQL']['USER'] + ";" "PWD=" + settings.DATABASES['MSSQL']['PASSWORD'] + ";" "Trusted_Connection=no;" ) cursor = self.connection.cursor() query = """SELECT * FROM DB_NAME;""" cursor.execute(query) rows = cursor.fetchall() columns = [column[0] for column in cursor.description] data = []