2009-02-19 168 views
0

我正在使用rails freeze 1.2.3来运行rails应用程序。由于该应用程序位于远程计算机上,因此我使用ssh隧道(ssh -l -L)在我的屏幕上显示应用程序。当我运行它,它正确地提示登录页面,我把在信息后,我得到这个错误: OCIError在ServiceController的 错误,而试图检索错误文本ORA-12154OCIError(ruby on rails)

我已经试过了相同的应用程序在另一台不使用冻结的机器上(因为该机器的版本为1.2.3,而当前版本为2.0.2)。那是错误来自哪里?

谢谢。

回答

0

这是一个Oracle错误。这听起来像你的数据库设置不正确。把错误号码ORA-12154放入谷歌,你会发现一些有用的东西。

0

ORA-12154是一个经典的。正如Sarah指出的那样,它与你的Rails或Ruby本身无关。当Oracle客户端无法连接到oracle服务器时,会生成ORA-12154。因此,最有可能您的设置是错误的:

  1. 你的database.yml,如果你能使用TNSPING或SQLPLUS(Oracle客户端utils的)连接,你可能只需要看看这个。
  2. 您的Oracle网络设置,特别是您的tnsnames.ora文件(如果我没有记错,请在$ ORACLE_HOME/network/admin中找到)。这可能需要友好的DBA提供一些额外的帮助,因为tnsnames.ora语法有怪癖。点击此链接link text了解更多信息。

希望有所帮助。