Yii 连接 Oracle 简记

作者:Jeen 发布于:2013-4-21 18:22 Sunday 分类:工作笔记

环境:win7 x64       wamp2.0f (集成php5.2.8)   Oracle11g
步骤简记:首先确认环境配置是否正常
开启php oci 相关扩展后  查看phpinfo(); 会有如下编译内容

“–with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared”
“–with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared”

这个我们是无法修改的,需要去Oracle的官网下载相应的客户端文件,因为DBA那边使用的是Oracle11g版本,所以这边下载 了:instantclient-basic-windows.x64-11.2.0.3.0.zip以及instantclient-sdk- windows.x64-11.2.0.3.0.zip
解压后将文件放置到需求对应的目录(没有的话需要手动建立,如本环境的目录为:D:\php-sdk\oracle\instantclient10\ )

运行yii 框架下的requirements 查看 PDO Oracle extension 模块是否 通过 (若未通过说明client及sdk的版本不正确,可以尝试下载其他版本)

环境检测ok之后,创建一个Yii webapp进行检测,如: php yiic.php webapp d:\wamp\www\oracletest
修改 oracletest/protected/config/main.php 文件,添加Oracle数据库连接配置,如:
‘db_oracle’=>array(
‘class’ => ‘CDbConnection’,
‘connectionString’=>’oci:dbname=192.168.1.253:1521/TEST.COM’,
‘charset’=>’UTF8′,
‘username’=>’scott’,
‘password’=>’tiger’,
‘enableParamLogging’=>true,
),
具体配置请参考DBA所提供的信息
编写测试代码:这边直接修改自动创建的 SiteController中的actionIndex方法
添加代码
$query = “SELECT * FROM MYTABLE”;
$t_results = Yii::app()->db_oracle->createCommand($query)->queryAll();
print_r($t_results);
刷新访问测试目录,即可正常显示相关信息。

注意事项:
测试Yii 使用Oracle之前
请先使用相关软件,如 SQL Developer 、PLSQL Developer进行测试连接
或使用PHP ocilogon 测试连接,确保系统及PHP所需的扩展均正常
使用gii创建Oracle相关model时需要注意表名的大小写

标签: Yii oracle

发表评论:

©2010-2024 Jeen All Rights Reserved.Powered by emlog 京ICP备15058100号-1