💍

【Rails + SQL Server】ActiveRecord を SQL Server に 接続する方法

2023/07/28に公開

はじめに

Railsアプリケーションで ActiveRecordを使用して Microsoft SQL Server に接続する方法をまとめます。

使用する database を SQL Server に指定する

adapterencodingを下のようにします。
その他のプロパティは環境に合わせて指定してください。

config/database.yml
development:
  adapter: sqlserver
  encoding: utf8
  host: <SQL Serverのホスト名またはIPアドレス>
  database: <データベース名>
  username: <ユーザー名>
  password: <パスワード>

FreeTDS をインストール

FreeTDSとは、Linux や macOS などの非 Windows プラットフォームから SQL Server にアクセスするためのライブラリです。

apt-get install freetds-dev

activerecord-sqlserver-adapter をインストール

activerecord-sqlserver-adapterとは、Active Record に SQL Server への接続機能を追加するアダプターです。

https://github.com/rails-sqlserver/activerecord-sqlserver-adapter

Gemfile
gem 'activerecord-sqlserver-adapter'

TinyTDS をインストール

TinyTDSとは、Ruby 用の TDS プロトコルを使用して、SQL Server と通信するためのライブラリです。

https://github.com/rails-sqlserver/tiny_tds

Gemfile
gem 'tiny_tds'

TinyTds::Error (closed connection)エラー

TinyTds::Error (closed connection)というエラーが出た際は、database.yml でencodingutf8にすることを忘れていないか確認してみてください。

参考文献

https://www.cotegg.com/blog/?p=1688
http://ore-tech.blogspot.com/2014/10/bundle-installtinytds.html

Discussion