RubyでSQLServerへつなぎたい2
前回失敗したRDBIじゃなくてtiny_tdsで行けるらしいので試してみた。
環境:Windows8.1 (64bit)
Ruby:2.4.4p296
Bundler:1.16.2
DB:SQL Server 2017
①接続準備
rubyで
require 'tiny_tds' require 'bundler/setup'
と書くとつながるらしいので、これが動くように必要なものをインストール&準備する。
gem install tiny_tds gem install bundler bundle init bundle install --path vendor/bundle
②SQLServerのポートの確認
デフォルトで動的になっているので1433固定にしておく。
◆スタート
→ Microsoft SQL Server 2017
→ 構成ツール
→ SQL Server 構成マネージャー
でsql Server Configuration Managerを開いたら、左のメニューの「SQL Server ネットワークの構成」を開き、
[インスタンス名] のプロトコルをクリック。
「TCP/IP」をクリックして「IPアドレス」タブを選択し、一番下のIPALLを設定しておく。
③いざ接続
require 'tiny_tds' require 'bundler/setup' client = TinyTds::Client.new host: '[my_hostname]', port: 1433, database: '[db]', azure: false results = client.execute 'SELECT * FROM my_table' results.each do |row| puts row['columname'] end
で出力されたのでOK.