Ruby(特にJRuby)でActive Recordを使用してリモートJDBC/SqlServerデータベースに接続しようとしました。Ruby Active Record JDBC経由でSQL Serverにアクセスする
require 'activerecord'
require 'activerecord-jdbc-adapter'
ActiveRecord::Base.establish_connection(
:adapter => 'sqlserver',
:username => '<username>',
:password => '<password>',
:database => '<database_name>',
:url => '<database_url>',
)
@connection = ActiveRecord::Base.connection
puts @connection
私もアダプタとして「JDBC」を入れている、そしてそれはまた、動作しませんでした。ここに私のコードです。
NameError: cannot load Java class com.microsoft.sqlserver.jdbc.SQLServerDriver
for_name at org/jruby/javasupport/JavaClass.java:286
get_proxy_class at org/jruby/javasupport/JavaUtilities.java:34
block in java_import at uri:classloader:/jruby/java/core_ext/object.rb:49
map at org/jruby/RubyArray.java:2486
java_import at uri:classloader:/jruby/java/core_ext/object.rb:36
block in driver_class at C:/jruby-9.1.12.0/lib/ruby/gems/shared/gems/activerecord-jdbc-adapter-1.3.23/lib/arjdbc/jdbc/driver.rb:24
module_eval at org/jruby/RubyModule.java:2833
block in driver_class at C:/jruby-9.1.12.0/lib/ruby/gems/shared/gems/activerecord-jdbc-adapter-1.3.23/lib/arjdbc/jdbc/driver.rb:23
synchronized at org/jruby/javasupport/JavaObject.java:257
それはあまり具体的な問題ではないのですが、私はどこここから行くためにちょうどよくわからないんだということより:ここ
そして、私は取得していますエラーの簡略版です。純粋なRubyで 'activerecord-sqlserver-adapter'を使用することは、サーバ上のJDBCのために機能しません。 (ここではこの用語を誤解しているかもしれませんが、データベースの仕組みにはあまり馴染みがありません)
しかし、jdbc/sqlserverの宝石は十分にサポートされていないか、古くなっているようです。おそらくこれには銀色の弾丸はありませんが、どんな方向性も大きな助けになるでしょう。
おそらくこれが役に立ちますか? https://github.com/jruby/activerecord-jdbc-adapter/blob/master/activerecord-jdbcmssql-adapter/README.rdoc – engineersmnky
宝石が古くなったのは私の理解でしたか?しかし、私はそれを試してみましょう。 – Cooper
これは、 'activerecord-jdbc-adapter'を使用している宝石です。正しいドライバ(問題あり)をインストールする方法と、ActiveRecordを使用するように設定する方法については、READMEから(埋まっているので) – engineersmnky