ActiveRecord and tiny_tds

Hi,

I’m having some issues trying to run .find_by_sql against a Win MSSQL
2008
server. When I use the tiny_tds gem the query works without any issues.

require ‘rubygems’
gem ‘tiny_tds’, ‘= 0.6.2’
require ‘tiny_tds’
gem ‘activerecord’, ‘= 3.2.12’
require ‘active_record’
require ‘activerecord-sqlserver-adapter’

client = TinyTds::Client.new(:username => ‘user’,:password =>
‘pass’,:host
=> ‘host’,:database => ‘db’)
result = client.execute(sql)
=> #TinyTds::Result:0x000000022c3e48

When I try the same query with an ActiveRecord::Base model I don’t see
any
results (I’ve tried both :host and :dataserver with the same result).

class Ipdb < ActiveRecord::Base
establish_connection(
:adapter => “sqlserver”,
:host => ‘host’,
:username => ‘user’,
:password => ‘pass’,
:database => ‘db’,
)
self.table_name = “View_All_IPs”
end
ai = Ipdb.find_by_sql(sql)
p ai.size
=> 1
p ai.inspect
=>"[#]"
p ai[0].class
=> Ipdb()
p ai[0]
=> #

Any ideas about where the problem may be?

Thanks
J-H Johansen

After some more debugging I finally realized that the object actually
had
some data attached to it. It must have been the .inspect which fooled me
into thinking it was empty.

ai = Ipdb.where("[IP Address] = ?", ip)
ai.each do |b|
puts b[“IP Address”]
puts b.Information
end

This outputs the information needed. Not sure why the object doesn’t
output
all this information when I ‘inspect’ it…

kl. 13:05:07 UTC+1 tirsdag 17. desember 2013 skrev [email protected]
flgende:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs