Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

589
Vistas
Conectando Django con el servidor MSSQL

Estoy tratando de conectar mi aplicación Django a SQL Server 2016. Intenté usar django-pyodbc pero no es compatible con Django 1.11. En su lugar, instalé django-mssql 1.8. Cuando intento ejecutar la aplicación me sale este error.

 TypeError was unhandled by user code Message: 'NoneType' object is not callable

En execute_from_command_line(sys.argv) en manage.py

Aquí están mis BASES DE DATOS de settings.py

 DATABASES = { 'default': { 'ENGINE': 'sqlserver_ado', 'NAME': 'TEST2', 'HOST': 'PCNAME\SQLEXPRESS', 'USER': '', 'PASSWORD': '', 'OPTIONS' : { 'provider': 'SQLOLEDB', 'use_mars': True, }, } }

Probé tanto el proveedor predeterminado como SQLOLEDB, pero siempre obtengo el mismo error. También probé con y sin usuario y contraseña establecidos, pero el error sigue siendo el mismo. Puedo conectarme a una base de datos MySQL local muy bien.

Estoy ejecutando Windows 10, Visual Studio 2015, SQL Server Express 2016

Editar:

Aquí está la salida de pip freeze

 appdirs==1.4.3 Django==1.11 django-mssql==1.8 mysqlclient==1.3.10 packaging==16.8 pyodbc==4.0.16 pyparsing==2.2.0 pytz==2017.2 six==1.10.0

Aquí están mis requisitos.txt

 django==1.11 mysqlclient==1.3.10 django-mssql==1.8
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Como se indica en la documentación de django-mssql , la última versión solo es compatible con Django 1.8, por lo que no funcionará con Django 1.11.

Tendrá que esperar hasta que el paquete admita versiones más nuevas de django para actualizar. Ese es el problema cuando se usa Django con backends de base de datos no compatibles, depende del mantenimiento de paquetes de terceros, y este parece tener problemas para mantenerse actualizado con Django.

about 4 years ago · Santiago Trujillo Denunciar

0

Siguiendo la documentación oficial de django (actualmente django 3.1) se debe usar django-mssql-backend . El adaptador de base de datos Django-MSSQL-backend Django es una bifurcación de Django-pyodbc-azure que:

  • Soporta Django 2.2, 3.0
  • Compatible con Microsoft SQL Server 2008/2008R2, 2012, 2014, 2016, 2017, 2019
  • Compatible con el controlador ODBC de Micosoft para SQL Server, SQL Server Native Client y los controladores ODBC de FreeTDS

Otras soluciones django-pyodbc-azure , django-sqlserver y django-mssql a partir de 2020-11 parecen estar obsoletas.

about 4 years ago · Santiago Trujillo Denunciar

0

Puede usar django-pyodbc-azure porque es compatible con las versiones actuales de django 2.0. Después de la instalación, debe editar su archivo de configuración como se muestra a continuación:

 DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': DB_NAME, 'USER': USER, 'PASSWORD': PASSWORD, 'HOST': HOST, 'PORT': PORT, 'OPTIONS': { 'driver': 'ODBC Driver 13 for SQL Server', 'unicode_results': True, }, } }

Si instala la biblioteca TDS como controlador, su controlador será 'driver': 'Free TDS' Aquí 13 es la versión predeterminada. Si su versión instalada es diferente a esa, use ese número de versión en lugar de 13

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda