Sequel :: AdapterNotFound:LoadError:无法加载这样的文件 - win32ole

时间:2013-11-13 11:52:57

标签: ruby-on-rails ruby database ruby-on-rails-3 sequel

我已成功使用MySQL连接到Postgres'sequel'数据库。

我想从Ubuntu 12.04连接到SQL Server数据库到Windows机器。使用tiny-tds我们可以做到这一点,但我想使用'续集'进行连接

安装宝石

gem 'dbi'
gem 'tiny_tds'
gem 'sequel'
gem "win32ole-pp"
gem "rubysl-win32ole"
gem 'activerecord-sqlserver-adapter'

我收到了以下错误。

1.9.3p448 :007 >   require 'win32ole-pp'
LoadError: cannot load such file -- win32ole-pp

1.9.3p448 :008 > require 'rubysl-win32ole'
 => false 

1.9.3p448 :001 > DB = Sequel.ado(:database => 'test_database', :host => 'xxx.xxx.xxx.xxx', :user => 'username', :password => 'password', :provider => 'SQLNCLI10')
    Sequel::AdapterNotFound: LoadError: cannot load such file -- win32ole

Sequel为微小的tds提供适配器。我该如何使用该适配器?请告诉我如何用续集宝石做到这一点?

我没有得到如何使用续集的小tds,因为续集为tiny_tds提供适配器。

谢谢...

1 个答案:

答案 0 :(得分:11)

最后,我可以在续集的帮助下从ubuntu 12.04机器连接到远程MSSQL数据库。 Sequel使用tiny_tds连接到SQL Server数据库。这里xxx.xxx.xxx.xxx是远程机器的ip地址。无需win32ole

Sequel为MySQL2,Postgres,SQL Server和Tiny tds提供适配器。

需要宝石

gem 'tiny_tds' #For SQlServer
gem 'mysql2' #For MySQL
gem 'sequel'

如果您要连接到MySQL2

DB = Sequel.connect(:adapter => 'mysql2', :user => 'username', :password => "passw0rd", :host => "xxx.xxx.xxx.xxx" , :database => "test_database")

如果要连接到SQL Server

DB = Sequel.connect(:adapter => 'tinytds', :user => 'username', :password => "passw0rd", :host => "xxx.xxx.xxx.xxx" , :database => "test_database")

post = DB.from(:test_table)

post.all