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

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看下行不。

















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章