web-dev-qa-db-fra.com

Échec de la connexion à la base de données odbc dans R

J'ai essayé de connecter le DMS de mon entreprise à R à l'aide de la commande odbcConnect, mais je reçois le message suivant:

myConn <-odbcConnect("NZSQL", uid="cejacobson", pwd="password")
Warning messages:
1: In odbcDriverConnect("DSN=NZSQL;UID=cejacobson;PWD=password") :
  [RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified
2: In odbcDriverConnect("DSN=NZSQL;UID=cejacobson;PWD=password") :
  ODBC connection failed

Le fait est que je suis certain que le nom de la source de données est NZSQL et que mon ID utilisateur et mon mot de passe sont également corrects. Toute idée sur la raison pour laquelle R ne trouve peut-être pas ma source de données/mon pilote (le pilote est d'ailleurs spécifié et fonctionne).

Merci!

13
cjacobso

J'ai rencontré le même problème lors de ma première tentative de connexion à une base de données Oracle. Finalement, ce qui a fonctionné pour moi a été d'utiliser odbcDriverConnect et une chaîne de connexion au lieu de odbcConnect.

myConn <-odbcDriverConnect("Driver={Oracle in OraClient11g_home1};Dbq=NZSQL;Uid=cejacobson;Pwd=password;")

Vous pouvez vérifier sur https://www.connectionstrings.com/ votre chaîne de connexion spécifique pour votre base de données. Le mien s'est avéré être celui-ci .

J'espère que cela t'aides.

4
Phil

J'essayais d'accéder à la base de données SQL Server et j'ai la même erreur. Après avoir utilisé le bon format de connexion à la base de données, j'ai eu accès à la base de données de mon serveur SQL. 

dbhandle <- odbcDriverConnect("Driver={SQL Server};Server=mydbhost;Database=mydbname;Trusted_Connection=Yes")
2
Chad

Ceci est une erreur IM02 qui signifie que le nom du DSN est incorrect.

Allez à ODBC et vérifiez le DSN UTILISATEUR/Système que vous devriez utiliser. Une fois que votre nom DSN est correct, vous risquez d'obtenir une erreur d'état IM014, qui correspond à une incompatibilité d'architecture. Dans ce cas,

La solution la plus simple est IN r studio - allez dans outils et changez la version de R en 32 bits.

Il devrait être prêt à travailler

1
JayPadhya

Ce qui a fonctionné pour moi, c’était une connexion 32 bits au lieu d’une connexion 64 bits. 

0
goldilocked3149

Je sais que c'est vieux, mais assurez-vous également de supprimer les espaces autour du signe '='. C'était mon problème. 

0
Danrex