3 votes

django.db.utils.InterfaceError :('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Nom de la source de données non trouvé et aucun pilote par défaut spécifié (0) )

J'ai une application web Django avec un serveur sql azur, j'ai déplacé le code d'un ordinateur portable à un autre et soudain j'ai obtenu django.db.utils.InterfaceError : ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') immédiatement après le démarrage du serveur web.

J'ai pu isoler le problème, et j'ai réalisé qu'il provenait de la connexion à la base de données dans setting.py, j'ai essayé de lancer un simple quay python depuis la console et cela a fonctionné.

J'ai comparé mes paramètres dans la source de données ODBC avec ceux de mon ancien ordinateur portable et ils sont identiques,

SOLVED-- J'ai remarqué que la seule différence était que dans mon ancien ordinateur portable, j'ai aussi ODBC Driver 13 for SQL Server, je l'ai aussi installé et cela a fonctionné.

J'utilise : Python 3.6.0 (v3.6.0:41df79263a11, 23 déc 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] sur win32.

Tapez "help", "copyright", "credits" ou "license" pour plus d'informations. Des idées ?

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'XXXXXX',
        'Trusted_Connection':'No',       
        'HOST' : 'XXXXXXXXXXX',
        'DRIVER': '{ODBC Driver 17 for SQL Server}',
        'OPTIONS': {
            'extra_params': 'APP=Setting.py',
        },
        'AUTOCOMMIT' : True ,
        'USER' : 'XXXXXXX',
        'PASSWORD' : 'XXXXXXX'
          }}

0voto

David Louda Points 316

J'avais besoin d'installer https://www.microsoft.com/en-us/download/details.aspx?id=56567 odbc mon pilote SQL 17.

0voto

Vishu Points 1

Au lieu de

'DRIVER': '{ODBC Driver 17 for SQL Server}',

utiliser

'DRIVER': 'SQL Server Native Client 11.0',

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X