使用CakePHP连接到oracle远程服务器

时间:2009-07-09 09:53:17

标签: oracle cakephp

首先,如果我在错误的地方张贴,我很抱歉。现在解决问题:

我正在开发一个带有CakePHP和Windows后端的Oracle后端的Web应用程序,开发最初是在CodeIgniter中完成的,最近我们决定迁移到CakePHP。

Oracle服务器位于不同的子网。我能够将Cake连接到远程服务器没问题,我设置了一些简单的模型,视图和控制器。但是,当我试图访问其中一个控制器。例如http://www.example.com/facilities/,加载页面需要一段时间,30秒后脚本会超时。

经过多次调试后,我发现这些行导致了问题。

cake/libs/model/datasources/dbo/dbo_oracle.php:448


     $sql = 'SELECT view_name AS name FROM all_views UNION SELECT table_name
             AS name FROM all_tables';

    if (!$this->execute($sql)) {
         return false;
     }

根据我的理解,Cake正在尝试获取数据库中的所有表并将其与Model相关联,当我尝试在sqldeveloper上运行上述查询时,我得到了3.7k +结果,我认为它正在减慢到这一点脚本超时的地方。

这有什么解决方法吗?

提前感谢。

1 个答案:

答案 0 :(得分:1)

ALL_TABLES和ALL_VIEWS包含您可以访问的所有表/视图的列表。

  • 尝试以较少的人身份连接 SELECT权限。
  • 或者你 可以更改ALL_TABLES / ALL_VIEWS 到USER_TABLES / USER_VIEWS。那 只返回你的对象 自己的。