2

ActiveRecord を使用して Oracle データベースにアクセスするサーバーを Sinatra を使用して作成しました (ただし、これは Rails アプリではありません)。私はシナトラの「古典的な」スタイルでそれを書き、以前は次のようにサーバーを起動しました:

bundle exec ruby bin/server.rb

私も使用require 'thin'し、Thin は魔法のように HTTP サーバーとして使用されました。ただし、Thin のデフォルトのタイムアウトを変更する必要があったため、rackupconfig.ruファイルに移行しました。次のようにサーバーを起動します。

bundle exec thin -C config/thin.yml -R config/config.ru start

ただし、これを行ってから、サーバーで Oracle データベースに接続できません。サービス名を使用しており、TNS_ADMIN環境変数が正しく設定されているためsqlplus、Thin を使用して起動していない場合でも、同じサーバーに接続できます。Thin で起動し、接続を開始しようとするとOCIError - ORA-12154: TNS:could not resolve the connect identifier specified.

Thin で起動されたサーバーの環境変数を設定する正しい方法は何ですか? ruby-oci8 に情報を与えることができないため、ここでの解決策は機能しません。環境から自動的に読み取られます。

4

0 に答える 0