Hi
I'm trying to use the activerecord-sybase-adapter to be able to use ASE with my rails applications.
But, I am struggling...
I followed (most of) the steps on this informative page:
http://trevoke.net/blog/2009/09/11/connecting-to-sybase-with-rails-on-windows-xp/
Initially I had Rails 2.3.5 installed.
I copied the "Ruby Sybase files" as instructed and the Sybase dll files as well, and I installed activerecord-sybase-adapter (1.0.0.9250).
The Sybase environment I already have on my office computer, so it should be allright.
I don't have the mentioned JDBC_HOME setting or the classpath setting, but I'm using Open Client, so should there be any need for the JDBC settings?
Ok, things looked promising, and I started creating a test rails app.
rails testapp
I then edited the database.yml to fit Sybase ASE
development:
adapter: sybase
database: testdb
username: username
password: password
host: sauron
The host, sauron, is defined in the sql.ini file.
Running rake db:create tells me that the database testdb already exists. (true)
ruby script\generate scaffold person first_name:string last_name:string WORKS OK
rake db:migrate --trace FAILS!
(in C:/work/ror/testapp)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
undefined method `select_rows' for #<ActiveRecord::ConnectionAdapters::SybaseAdapter:0x97d8be8>
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/database_statements.rb:27:in `select_values'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:416:in `get_all_versions'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:532:in `migrated'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:441:in `current_version'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:458:in `migrate'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/databases.rake:115:in `detect'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:458:in `each'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:458:in `detect'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:458:in `migrate'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:400:in `up'
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb:383:in `migrate'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/databases.rake:116
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
c:/prg/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
c:/prg/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
c:/prg/ruby/bin/rake:19:in `load'
c:/prg/ruby/bin/rake:19
so... looks like something's missing here. In mysql_adapter.rb there is a select_row function, but not in the sybase_adapter.rb.
I tried downgrading Rails to 2.1.0 because I read somewhere that the activerecord-sybase-adapter perhaps was not working for the latest Rails releases, but got only a slightly different error message:
rake aborted!
select_rows is an abstract method
c:/prg/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:34:in `select_rows'
...
Anyone has an idea?
Best regards,
Rolf
You received this message because you are subscribed to the Google Groups "Ruby On Rails Sybase Developers" group.
.
.