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

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

gem 安装

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 提供了适配器。我如何使用该适配器?请告诉我如何用 sequel gem 做到这一点?

我不知道如何在 sequel 中使用 tiny tds,因为 sequel 为 tiny_tds 提供了适配器。

谢谢...

最佳答案

最后,我能够在续集的帮助下从 ubuntu 12.04 机器连接到远程 MSSQL 数据库。 Sequel 使用 tiny_tds 连接到 SQL 服务器数据库。这里xxx.xxx.xxx.xxx是远程机器的ip地址。不需要 win32ole
Sequel 为 MySQL2、Postgres、SQL Server 和 Tiny tds 提供了适配器。

需要 gem

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

关于ruby-on-rails - Sequel::AdapterNotFound: LoadError: 无法加载此类文件 -- win32ole,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19953096/

10-10 21:25