2013-06-12 5 views
10

Ich habe versucht, meine Firma DMS R mit dem odbcConnect Befehl zu verbinden, aber die folgende Meldung erhalten:Nicht ODBC-Datenbank in R verbinden

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 

Die Sache ist, ich bin sicher, die Datenquellenname ist NZSQL und meine UID und das Passwort sind ebenfalls korrekt. Irgendeine Einsicht, warum R meine Datenquelle/meinen Treiber möglicherweise nicht findet (der Treiber ist übrigens spezifiziert und funktioniert).

Danke!

+0

Welches Betriebssystem sind Sie und was ist das RDBMS? Weißt du, welche Treiber verfügbar sind - ist es nur unixODBC? –

+1

Haben Sie versucht, die Datenbank im Tool "Datenquelle (ODBC)" einzurichten? –

+0

Das sieht wie ein ODBC-Fehler aus, kein R-Fehler. Es findet nicht den erforderlichen Treiber/Verbindung. Stellen Sie sicher, dass das zuerst eingerichtet wird. –

Antwort

4

Ich stieß auf dasselbe Problem, als ich zum ersten Mal versuchte, eine Verbindung zu einer Oracle-Datenbank herzustellen. Am Ende, was für mich funktionierte, war odbcDriverConnect und eine Verbindungszeichenfolge anstelle von odbcConnect.

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

können Sie auf https://www.connectionstrings.com/ überprüfen Sie Ihre Datenbank für Ihre spezifische Verbindungszeichenfolge. Meine war zufällig this one.

Hoffe, das hilft.

0

Was für mich funktionierte, war eine 32-Bit-Verbindung anstelle einer 64-Bit-Verbindung.

1

Ich habe versucht, auf SQL Server-Datenbank zuzugreifen und den gleichen Fehler erhalten. Nachdem ich das korrekte Format der db Verbindung benutzt hatte, bekam ich Zugriff auf meine SQL Server Datenbank.

0

Ich weiß, das ist alt, aber stellen Sie auch sicher, dass Sie die Leerzeichen um das '=' - Zeichen entfernen. Das war mein Problem.

0

Dies ist IM02-Fehler, was bedeutet, dass der Name des DSN falsch ist.

Gehen Sie zu ODBC und überprüfen Sie die USER/System DSN, die Sie verwenden sollten. Sobald Ihr Name von DSN korrekt ist, erhalten Sie möglicherweise IM014-Statusfehler, der nicht übereinstimmte Architektur ist. In diesem Fall

Die einfachere Lösung ist IN r Studio - gehen Sie zu Tools und ändern Sie die Version von R auf 32 Bit.

Es sollte bereit sein zu arbeiten