Hello Dear experts,
I am new to Ruby on Rails. Though I want to access to MSSQL 2005 from
ruby.
I installed tiny_tds using following commands:
sudo apt-get install freetds-dev
gem install tiny_tds
And now when I executed
@client = TinyTds::Client.new(
:username => ‘username’,
:password => ‘password’,
:host => ‘192.168.1.45’,
:database => ‘test_db’,
:login_timeout => 5,
:timeout => 5
)
, it gives an error
“ruby: symbol lookup error:
/usr/local/lib/ruby/gems/1.8/gems/tiny_tds-0.5.1/lib/tiny_tds/tiny_tds.so:
undefined symbol: dbsetluser”.
Could you please help me out to find a solution to this problem.
PS: I searched from Google, but could not find anything.
El martes, 10 de abril de 2012 07:25:15 UTC-3, Ruby-Forum.com User
escribi:
Hello Dear experts,
I am new to Ruby on Rails. Though I want to access to MSSQL 2005 from
ruby.
I installed tiny_tds using following commands:
sudo apt-get install freetds-dev
gem install tiny_tds
What version of FreeTDS got installed?
"ruby: symbol lookup error:
/usr/local/lib/ruby/gems/1.8/gems/tiny_tds-0.5.1/lib/tiny_tds/tiny_tds.so:
undefined symbol: dbsetluser".
Looks like the gem is expecting a function (symbol) exported from FreeTDS
that is not there, which brings again the question about what version of
FreeTDS did you install.
Also, more details about your version of Ruby (ruby -v, gem env) will be
good.
Considering you mention apt, I expect we’re talking about Ubuntu/Debian
and
a debian-provided Ruby? if not, please provide more details.
–
Luis L.
Thanks for your concern
Well, I am using Ubuntu 8.04.3 LTS server version.
What version of FreeTDS got installed?
In the /etc/freetds/freetds.conf file, it is written as
$Id: freetds.conf,v 1.9 2003/12/04 22:26:55 freddy77 Exp $
I don’t know how to check the version of freetds properly, my bad.
I just executed “sudo apt-get install freetds-dev” to install freetds, I
am not sure it really installed freetds.
Ruby version: ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
Any advise, please.
I downloaded FreeTDS 0.91 source code, and executed ./configre, make,
make install, make clean.
After this, the above problem disappeared, i.e., freeTDS had not
actually been installed.
Thanks for your valuable words