Hi,
I am attempting to get code working that connects to a MS SQL server
from a Linux web server. My testing in irb works, but when I try it in
rails I have no such luck. Sorry about the long post.
I have install and tested FreeTDS (works), and unixODBC (works). I
have a working ODBC connector called CTEL.
I have also installed RubyDBI and RubyODBC. I tested those by starting
irb1.8 and executing the following code:
require "dbi"
dbh = DBI.connect(''dbi:ODBC:CTEL'',
''usrename'', ''password'')
sth = dbh.execute("SELECT Org_ID FROM Org")
while row = sth.fetch do
print row
end
sth.finish
(Where username and password are the correct values.) It works
perfectly and prints out all of the Org_IDs. So, it looks like I have
all of the prereqs workings and life is good.
However, when I start working in rails things don''t go as smoothly. My
database.yml looks like:
ctel:
adapter: sqlserver
mode: odbc
dsn: CTEL
username: ************
password: *************
My model is legacy_customer.rb:
class LegacyCustomer < ActiveRecord::Base
establish_connection :ctel
set_table_name :Org
set_primary_key :Org_ID
end
Next I open up script/console and type "test = LegacyCustomer.new" and
get the following:
DBI::DatabaseError: INTERN (0) [RubyODBC]No data found
from /usr/local/lib/site_ruby/1.8/DBD/ODBC/ODBC.rb:186:in `[]=''
from /usr/local/lib/site_ruby/1.8/dbi/dbi.rb:733:in `[]=''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/sqlserver_adapter.rb:42:in
`sqlserver_connection''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:251:in
`send''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:251:in
`connection_without_query_cache=''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/query_cache.rb:54:in
`connection=''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:220:in
`retrieve_connection''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in
`connection''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:696:in
`columns''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1969:in
`attributes_from_column_definition''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1351:in
`initialize_without_callbacks''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/callbacks.rb:236:in
`initialize''
from (irb):1:in `new''
from (irb):1
Any ideas on what I could do from here?
Thanks for the help,
Steve
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk
-~----------~----~----~----~------~----~------~--~---
Any body? I still haven''t had much luck resolving this issue, so I would definitely appreciate any suggestions. Thanks, Steve On Oct 4, 11:33 am, "gnubbs" <gnu...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi, > > I am attempting to get code working that connects to a MS SQL server > from a Linux web server. My testing in irb works, but when I try it in > rails I have no such luck. Sorry about the long post. > > I have install and tested FreeTDS (works), and unixODBC (works). I > have a working ODBC connector called CTEL. > > I have also installed RubyDBI and RubyODBC. I tested those by starting > irb1.8 and executing the following code: > > require "dbi" > dbh = DBI.connect(''dbi:ODBC:CTEL'', ''usrename'', ''password'') > sth = dbh.execute("SELECT Org_ID FROM Org") > while row = sth.fetch do > print row > end > sth.finish > > (Where username and password are the correct values.) It works > perfectly and prints out all of the Org_IDs. So, it looks like I have > all of the prereqs workings and life is good. > > However, when I start working in rails things don''t go as smoothly. My > database.yml looks like: > > ctel: > adapter: sqlserver > mode: odbc > dsn: CTEL > username: ************ > password: ************* > > My model is legacy_customer.rb: > > class LegacyCustomer < ActiveRecord::Base > > establish_connection :ctel > set_table_name :Org > set_primary_key :Org_ID > > end > > Next I open up script/console and type "test = LegacyCustomer.new" and > get the following: > > DBI::DatabaseError: INTERN (0) [RubyODBC]No data found > from /usr/local/lib/site_ruby/1.8/DBD/ODBC/ODBC.rb:186:in `[]='' > from /usr/local/lib/site_ruby/1.8/dbi/dbi.rb:733:in `[]='' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/sqlserver_adapter.rb:42:in > `sqlserver_connection'' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:251:in > `send'' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:251:in > `connection_without_query_cache='' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/query_cache.rb:54:in > `connection='' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:220:in > `retrieve_connection'' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in > `connection'' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:696:in > `columns'' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1969:in > `attributes_from_column_definition'' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1351:in > `initialize_without_callbacks'' > from > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/callbacks.rb:236:in > `initialize'' > from (irb):1:in `new'' > from (irb):1 > > Any ideas on what I could do from here? > > Thanks for the help, > Steve--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
If you have text columns that have empty strings this error will occur. It''s a bug in RubyODBC. Make sure that the text columns are either NULL or have some data in them. gnubbs wrote:> Any body? I still haven''t had much luck resolving this issue, so I > would definitely appreciate any suggestions. > > > Thanks, > Steve > > On Oct 4, 11:33 am, "gnubbs" <gnu...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > Hi, > > > > I am attempting to get code working that connects to a MS SQL server > > from a Linux web server. My testing in irb works, but when I try it in > > rails I have no such luck. Sorry about the long post. > > > > I have install and tested FreeTDS (works), and unixODBC (works). I > > have a working ODBC connector called CTEL. > > > > I have also installed RubyDBI and RubyODBC. I tested those by starting > > irb1.8 and executing the following code: > > > > require "dbi" > > dbh = DBI.connect(''dbi:ODBC:CTEL'', ''usrename'', ''password'') > > sth = dbh.execute("SELECT Org_ID FROM Org") > > while row = sth.fetch do > > print row > > end > > sth.finish > > > > (Where username and password are the correct values.) It works > > perfectly and prints out all of the Org_IDs. So, it looks like I have > > all of the prereqs workings and life is good. > > > > However, when I start working in rails things don''t go as smoothly. My > > database.yml looks like: > > > > ctel: > > adapter: sqlserver > > mode: odbc > > dsn: CTEL > > username: ************ > > password: ************* > > > > My model is legacy_customer.rb: > > > > class LegacyCustomer < ActiveRecord::Base > > > > establish_connection :ctel > > set_table_name :Org > > set_primary_key :Org_ID > > > > end > > > > Next I open up script/console and type "test = LegacyCustomer.new" and > > get the following: > > > > DBI::DatabaseError: INTERN (0) [RubyODBC]No data found > > from /usr/local/lib/site_ruby/1.8/DBD/ODBC/ODBC.rb:186:in `[]='' > > from /usr/local/lib/site_ruby/1.8/dbi/dbi.rb:733:in `[]='' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/sqlserver_adapter.rb:42:in > > `sqlserver_connection'' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:251:in > > `send'' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:251:in > > `connection_without_query_cache='' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/query_cache.rb:54:in > > `connection='' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:220:in > > `retrieve_connection'' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in > > `connection'' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:696:in > > `columns'' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1969:in > > `attributes_from_column_definition'' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1351:in > > `initialize_without_callbacks'' > > from > > /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/callbacks.rb:236:in > > `initialize'' > > from (irb):1:in `new'' > > from (irb):1 > > > > Any ideas on what I could do from here? > > > > Thanks for the help, > > Steve--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---