好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

thinkphp连接oracle数据库 - Thinkphp

thinkphp连接oracle数据库

第一次使用thinkphp的框架,第一次使用它连接oracle,用了两天时间,终于给连接上了,现在把这段痛苦的经历记录下来给后来人一些启发,请参考:http://www.thinkphp.cn/document/299.html 和http://it.oyksoft.com/post/6437/这两篇文章都写的不错.

1、使用php-oci-8扩展,将php.ini中的extension=php-oci8.dll取消注释

2、使用phpinfo(),查看oci8是否enabled,如果是,继续向下.

3、设置环境变量:TNS_ADMIN,这个环境变量设置tnsnames.ora的路径,其中tnsnames.ora的内容如下:

testme =       (DESCRIPTION=           (ADDRESS_LIST=               (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.199)(PORT=11521))           )           (CONNECT_DATA=(SERVICE_NAME=test)           )       ) 

4、设置配置文件

application/common/conf/config.php中定义连接oracle    'DB_TYPE'    =>  'oracle' ,  // 数据库类型        'DB_HOST'    =>  '192.168.1.199' ,  // 服务器地址        'DB_NAME'    =>  'testme' ,  // 数据库名        'DB_USER'    =>  'root' ,  // 用户名        'DB_PWD'     =>  'root' ,  // 密码        'DB_PORT'    => 1521,  // 端口  

这里一定要注意,DB_Name是本机监听oracle 的名字,而不是服务名具体而言,就是tnsname.ora的名字,就是因为这个问题,导致我两天都没连通.

5、在Application/Home/Model/下建立表名+Model.class.php文件,文件内容为:

namespace Home\Model;  use  Think\Model;    class  表名+Model  extends  Model  {  //内容可以为空,,如果涉及到关联表等一些逻辑的情况下,必须要填写   } 

至此,应该就可以通过了,在控制器的方法里写测试方法:

$tree = new  \Home\Model\TreeModel();  $fields = $tree ->select();  dump( $fields ); 

查看更多关于thinkphp连接oracle数据库 - Thinkphp的详细内容...

  阅读:90次