4

我成功地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 提供了适配器。我怎样才能使用那个适配器?请告诉我如何使用 sequel gem 做到这一点?

我不知道如何将小 tds 与续集一起使用,因为续集正在为 tiny_tds 提供适配器。

谢谢...

4

1 回答 1

11

最后,我可以在续集的帮助下从 ubuntu 12.04 机器连接到远程 MSSQL 数据库。Sequel 使用 tiny_tds 连接到 SQL 服务器数据库。这里 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
于 2013-11-14T12:02:19.737 回答