Ich versuche, das RODBC-Paket zu verwenden, um Daten von einer Oracle-Datenbank mit R abzufragen. Es scheint eine Menge Dokumentation über den Zugriff auf MySQL-Datenbanken von R zu geben, aber nicht viele Informationen über Oracle-Datenbanken.
Wie erstelle ich einen DSN für meine Oracle-Datenbank?
Jede Hilfe wäre sehr willkommen. Danke,
Ich bin jedoch nicht mit "R" vertraut:
Oracle ODBC DSN wird normalerweise von -
eingerichtetHier sind die Anweisungen, die ich für unsere Website entwickelt habe:
Hinweis: Die Pakete Basic Instant Client und ODBC Instant Client müssen in dasselbe Verzeichnis entpackt werden. Beispiel: C: \ Oracle \ instantclient_11_1.
Oracle-Download-Site: Ссылка
Fügen Sie den Pfad der extrahierten Dateien zur Pfadumgebungsvariablen hinzu (z. B. C: \ oracle \ instantclient_11_1). ein. Rechtsklick auf "Arbeitsplatz" auf dem Desktop, klicken Sie auf "Verwalten". b. Klicken Sie mit der rechten Maustaste auf "Computerverwaltung (lokal)", klicken Sie auf "Eigenschaften". c. Klicken Sie auf der Registerkarte Erweitert auf die Schaltfläche Einstellungen unter "Umgebungsvariablen". d. Suchen Sie unter "Systemvariablen" den Eintrag "Pfad" und klicken Sie auf die Schaltfläche Bearbeiten. e. Fügen Sie den Speicherortpfad an dem Ende des "Variable Value" ein. Beachten Sie, dass Elemente durch ein Semikolon getrennt sind. f. Klicken Sie auf OK, um die Änderungen zu bestätigen. Schließen Sie das Fenster Computerverwaltung.
Doppelklicken Sie im Verzeichnis des Instant-Clients auf die Datei odbc_install.exe.
Öffnen Sie C: \ WINDOWS \ system32 \ odbcad32.exe
Fügen Sie eine Datenquelle für die Oracle-Datenbank hinzu. ein. Klicken Sie auf die Schaltfläche Hinzufügen b. Wählen Sie "Oracle in InstantClient11_1" und klicken Sie auf Fertig stellen. c. Geben Sie Folgendes in das Dialogfeld Oracle ODBC-Treiberkonfiguration ein: Datenquellenname: DSN Beschreibung: Roacle (oder was auch immer) TNS-Dienstname: SERVER: 1521 / DSN - Ändern Sie dies Benutzer-ID: Ihr Oracle-Benutzername d. Klicken Sie auf die Schaltfläche Verbindung testen. Sie werden nach Ihrem Passwort gefragt, und wenn alles gut gegangen ist, erhalten Sie eine Meldung "Verbindung erfolgreich".
Sie können dann einen Kanal in R mit:
erstellen %Vor%Ich habe festgestellt, dass es einige Herausforderungen bei der Verbindung mit Oracle von R gibt. Es könnten nur die Implementation und Einstellungen sein, die wir in meiner Firma haben, aber hier ist, was ich getan habe, um es zum Laufen zu bringen.
%Vor% Der kritische Schritt für mich war 'believeNRows=FALSE'
. Ansonsten habe ich den folgenden Fehler erhalten, als ich eine Anfrage eingereicht habe:
"Fehler in .Call (C_RODBCFetchRows, attr (Kanal," handle_ptr "), max, buffsize,: negative Längenvektoren sind nicht erlaubt "
Dies liegt daran, dass Oracle der Verbindung nicht die tatsächliche Anzahl der Zeilen zurückgibt.
Falls jemand anders auf diese alte Frage stolpert und Hilfe benötigt, um Oracle und R zu verbinden, erklärt diese PDF den Prozess vollständig und stellt benötigte Download-Informationen zur Verfügung.
{http://cran.fhcrc.org/web/packages/RODM/RODM.pdf}