次のような Ruby on Rails アプリを作成することは可能ですか。
a) Heroku にデプロイされていること、および
b) リモートの SQL Server データベースを使用していますか?
Heroku に unixODBC をインストールする必要があると思いますが、その方法が見つかりません。これは可能ですか?または、これを達成する他の方法 (ODBC を使用しない場合) はありますか?
ガイダンスやヒントをありがとうございました。
更新: 件名に関するいくつかの情報:
1) Heroku はデフォルトで unixODBC と FreeTDS の両方をプリインストールしているため、すでにそれらを持っています。
2) また、バッククォートで Heroku コンソールを介してシェル コマンドを実行することもできます。
heroku console
`odbcinst`
(Heroku シェルで「odbcinst」コマンドを実行し、結果を表示します)
3) パッケージがインストールされているスライスの外部にあるファイルシステムにアクセスできません。ドライバ パスのみが必要な場合は、Heroku サポートから提供されます (私の場合は /usr/lib/odbc/libtdsodbc.so)。
4) Heroku シェルでは sudo コマンドを実行できません。
現時点では、MS SQL Server に接続するには、少なくとも「freetds.conf」ファイルを追加する必要があります。tinyTDS を使用している場合でも (tinyTDS gitgub 発行ページにオープン チケット#2 があります)。「wiki.rubyonrails.org SLASH database-support SLASH ms-sql」からの DSN を使用しない接続手順は機能しませんでした。この接続には追加の構成も必要だと思います。
「freetds.conf」は、sudo なしでは変更できません。したがって、現時点では MS SQL と Heroku を連携させる方法はないと結論付けています。
EngineYard と activerecord-sqlserver-adapter を使用して、この接続を設定することができました。
次の手順に従いました: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubuntu (ファイルパスの違いはいくつかあります。たとえば、「odbc.ini」は「 '/etc' ではなく /etc/unicodbc' - これは簡単に解決できます)。
EY Unix Packages 機能を使用して「unixODBC」および「freetds」パッケージをインストールし、SSH を介してすべての構成を手動で行いました。Sudo は EY で使用できます (パスワードは不要です)。これらの構成を自動化するための Chef Recepes 機能もあります (非常に簡単に思えます。明日試してみます)。
これが役に立てば幸いです。