Ich habe einen Server mit Oracle, IP ist 192.168.1.50.
Auf meiner Linux-Box muss ich mich mit diesem Oracle-Server verbinden. Ich habe dann den Oracle Instant Client installiert und die Umgebungsvariablen entsprechend eingestellt:
OCI_INCLUDE_DIR = / home / luc / instantclient_11_2 / sdk / include
LD_LIBRARY_PATH = / home / luc / instantclient_11_2
DYLD_LIBRARY_PATH = / home / luc / instantclient_11_2 /
OCI_LIB_DIR = / home / luc / instantclient_11_2
ORACLE_HOME = / home / luc / instantclient_11_2
Ich habe auch den passenden Edelstein installiert:
%Vor%Sobald ich meine Modelle definiert und Rake db: migrate ausgeführt habe, bekam ich folgende Fehlermeldung:
%Vor%Meine Datenbank.yml ist:
%Vor%sqlplus-Verbindung funktioniert jedoch perfekt:
%Vor%Gibt es etwas in diesem Conf fehlt?
AKTUALISIEREN
Ich habe von der Kommandozeile getestet und die Verbindung funktioniert gut:
ruby -rubygems -e "require" oci8 '; OCI8.new (' USER ',' PASS ',' 192.168.1.50/orcl'.exec) ('* von Benutzern' auswählen) do | r | puts r .join (','); Ende "
= & gt; OK
Gleiches von irb:
%Vor%= & gt; OK
funktioniert aber immer noch nicht von meiner Rails App.
UPDATE 2
Die Verwendung der Datenbank anstelle des Hosts hat das Problem behoben:
%Vor% Wenn Sie die EZConnect-Syntax verwenden möchten, um eine Verbindung zu Oracle herzustellen, müsste host
in Ihrer database.yml
-Datei die führenden Schrägstriche enthalten, d. h.
Es gibt Beispiele für andere Möglichkeiten zum Konfigurieren von Rails für den Zugriff auf eine Oracle-Datenbank in diesem OTN-Artikel auf Verbinden mit Oracle in Ruby on Rails .
Tags und Links ruby-on-rails-3 ruby-on-rails oracle