Rackup,Thin和Oracle的环境变量

时间:2013-06-20 08:34:54

标签: oracle sinatra thin oci8 rackup

我使用Sinatra编写了一个使用ActiveRecord访问Oracle数据库的服务器(尽管这不是Rails应用程序)。我用Sinatra的“经典”风格写了它,之前就像这样启动了服务器:

bundle exec ruby bin/server.rb

我还使用了require 'thin',并且Thin被神奇地用作HTTP服务器。但是,我需要更改Thin的默认超时,因此我转换为rackup config.ru文件。我现在就像这样启动服务器:

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

但是,由于这样做,我无法使用服务器连接到Oracle数据库。我正在使用服务名称并且TNS_ADMIN环境变量已正确设置,如果未使用Thin启动,我可以与sqlplus甚至同一服务器连接。使用Thin启动,当我尝试启动连接时,我得到OCIError - ORA-12154: TNS:could not resolve the connect identifier specified

为使用Thin启动的服务器设置环境变量的正确方法是什么?解决方案here不起作用,因为我无法为ruby-oci8提供信息,它会自动生成从环境中读取它们。

0 个答案:

没有答案