Verwenden des OrientDB-JDBC-Treibers mit ActiveRecord

8

Was ist der richtige Weg, um OrientDBs JDBC-Treiber mit ActiveRecord zu verwenden?

Ich versuche eine Rails 3.2 Anwendung mit OrientDB 1.4 zu verbinden. Ich habe den Gem activerecord-jdbc-adapter installiert und den database.yml wie folgt konfiguriert:

%Vor%

Ich lade den JDBC-Treiber von OrientDB wie folgt:

%Vor%

Die folgende Ausnahme wird beim Start der Anwendung ausgelöst (mit rails s ):

%Vor%

Fehlt etwas in meiner Konfiguration? Was ist der richtige Weg, OrientDBs JDBC-Treiber mit ActiveRecord zu verwenden?

    
Hebatu Allah Fahmy 13.07.2013, 12:32
quelle

1 Antwort

1

Obwohl activerecord-jdbc-adapter (theoretisch) alle JDBC-Treiber unterstützt, verwendet es APIs und macht einige Annahmen, die für einige weniger gut funktionieren. Esp. mit nicht vollständig kompatiblen Treibern wie orientdb-jdbc (mindestens Version 1.4).

In diesem Fall versucht AR-JDBC, unterstützte Typen aus den DB-Metadaten aufzulösen: Ссылка , aber da metadata.getTypeInfo() einen unerwarteten Wert zurückgibt null anstelle eines tatsächlichen ResulSet -Objekts schlägt alle schlecht. Dies könnte durch die Behandlung von "Null" -Typen verbessert werden, indem die Methode native_database_types in Ruby und / oder zusätzlicher Code auf der Seite von AR-JDBC überschrieben wird - obwohl sie für OrientDBs "Treiber" möglicherweise nicht ausreicht, um sie voll funktionsfähig zu machen. JDBC ... klingt nach einer ziemlich guten Anpassung für eine AR-JDBC-Erweiterung (vorausgesetzt, dass OrientDB das von ActiveRecors / AREL generierte SQL verarbeiten kann).

    
kares 08.01.2014 19:21
quelle