Forum: Ruby on Rails Problem in interaction with UnixODBC

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
49d930a32d6a92f8dd996f532b33c3f8?d=identicon&s=25 Ed Syrett (esyrett)
on 2007-01-16 15:29
(Received via mailing list)
Hi,

I have a ruby application connecting to SQL server 2000 that throws the
following error:

ActiveRecord::StatementInvalid (DBI::DatabaseError: 24000 (0)
[unixODBC][FreeTDS][SQL Server]Invalid cursor state: SELECT * FROM
Personnel WHERE (name = 'mickey mouse') ):

/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:120:in
`log'

/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb:485:in
`select'

/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb:233:in
`select_all'
    /vendor/rails/activerecord/lib/active_record/base.rb:390:in
`find_by_sql'
    /vendor/rails/activerecord/lib/active_record/base.rb:924:in
`find_every'
    /vendor/rails/activerecord/lib/active_record/base.rb:381:in `find'
    /app/controllers/test.rb:3

The statement obviously returns no records, and it is this condition
that seems to throw the error.

I'm guessing that the problem lies with UnixODBC or the way Rails
interacts with it because this code works fine on Win32 where Rails is
going directly to the Microsoft ODBC driver.

 Current revision levels are as follows:

UnixODBC        2.2.12
Ruby-odbc         0.9994
Ruby-dbi           0.0.21
Freetds             0.64

Thanks,

Ed
A2c85dc5ee81b12e3cc0a6522e8d079d?d=identicon&s=25 Chris Hall (au5lander)
on 2007-01-16 16:01
(Received via mailing list)
don't know if this will help you but I have had luck using it on
linux/unixODBC to connect to an AS400 system.

http://rubyforge.org/projects/odbc-rails/
This topic is locked and can not be replied to.