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:
Ich lade den JDBC-Treiber von OrientDB wie folgt:
%Vor% Die folgende Ausnahme wird beim Start der Anwendung ausgelöst (mit rails s
):
Fehlt etwas in meiner Konfiguration? Was ist der richtige Weg, OrientDBs JDBC-Treiber mit ActiveRecord zu verwenden?
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).
Tags und Links ruby-on-rails activerecord jruby jdbc orientdb