您的位置:首页 > 数据库 > Oracle

PHP原生或在YII下连接oracle数据库(YII如何同时连接两个数据库)

2013-06-14 10:33 519 查看
1,在YII中搭建应用目录。

2,在项目配置文件中main.php中添加2个数据库信息,如下

其中db数组如果只有一个的话是不需要添加'class'信息的,但是如果有2个或者多个db数组,那么第二个数组开始就要加上'class'属性,否则会报错

return array(

'components'=>array(

'db'=>array(

'connectionString' => 'mysql:host=localhost;dbname=weibo',

'emulatePrepare' => true,

'username' => 'root',

'password' => 'root',

'charset' => 'utf8',

),

'db2'=>array(

'class' =>'CDbConnection',

'connectionString' => 'oci:dbname=//192.168.0.235:1528/ora10g',

'emulatePrepare' => true,

'username' => 'scott1',

'password' => 'ssports2012',

'charset' => 'utf8',

),

)

)

3,开始写一个连接用的控制器,例如

里面有2个连接数据库的动作(方法)

class ConnectController extends Controller{

function actionOne(){

Yii::app()->db;

}

function actionTwo(){

Yii::app()->db2;

}

}

====================================================

以上是关于Yii框架连接多个数据库的设置,其中包括一个oracle数据库,下面是PHP原生态的连接

使用函数oci_connect()连接oracle的数据库 ,具体方式如下

//参数情况为第一个是用户名scott1,第二个是密码ssports2012,第三个是'数据库所在主机ip:数据库端口/数据库名'

$dbconn = oci_connect('scott1','ssports2012','192.168.0.235:1528/ora10g');

if ($dbconn) {

echo '连接成功';

}else {

echo '连接失败';

}

===============================================================

远程连接oracle数据库最重要的是在客户端(也就是自己的本地配置)的配置

1,首相要在php.ini文件中开启extension=php_oci8.dll,之后重启Appache服务器

2,在本机安装oracle数据库客户端

3,将oracle客户端中E:\oracle\product\10.2.0\db_1\bin这个路径写入到系统的系统变量中,重启计算机使系统变量生效

4,将oracle的E:\oracle\product\10.2.0\db_1\bin目录下的oci.dll、ocaocci10.dll、craocr10.dll和orannzsbb10.dll复制到apache的bin目录下,重启Appache服务器

以上4步骤配置可以帮助客户端顺利连接远程oracle数据库

================================================================

以下是网络上拿下来的,可以和我自己总结的相互参照

oracl数据库的连接相关配置问题:(我在解决问题的时候复制了oci.dll和orannzsbb10.dll其他的dll文件没有找到)

先查看你的phpinfo()这个函数的输出的内容,看看支持了oci8没;如果没,就再配置一下。

配置环境变量,把Oracle所在目录的路径写入电脑环境变量中的PATh中去。

如果支持了,就把Oracle客户端下的oci.dll、ocaocci10.dll、craocr10.dll和orannzsbb10.dll复制到apache的bin目录下,然后重启apache看下行不。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: