牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2013-06-14 投稿人: 浏览次数:165
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:oracleproduct10.2.0db_1in这个路径写入到系统的系统变量中,重启计算机使系统变量生效

4,将oracle的E:oracleproduct10.2.0db_1in目录下的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看下行不。

















声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。