繁体   English   中英

在Codeigniter中连接两个数据库

[英]Connecting two databases in Codeigniter

我将在Codeigniter中连接两个数据库。 我的database.php配置如下。

    $db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'dvrs',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

$db['orcl_db'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'mvrs',
    'password' => 'mvrs',
    'database' => 'MVRS',
    'dbdriver' => 'oci8',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

现在,我正在自动加载默认数据库,并使用以下命令按需在相应模型中加载orcl_db:

$this->orclDB = $this->database->load("orcl_db", TRUE);

我正在连接到两个数据库并成功运行查询。

在连接到oracle服务器之前,我需要确保该服务器可用,并且如果该服务器不可用/未响应,则显示正确的错误消息。

最好的方法是什么?

以下是确保代码的代码。

$this->orclDB = $this->load->database('orcl_db', TRUE);

        if (!$this->orclDB ->initialize()) {
            $response["status"] = false;
            $response["message"] = "Oracle DB is not available.";
        }

为了关闭数据库调试,当数据库连接失败时会引发致命错误,请使用$db['orcl_db']['db_debug'] = FALSE; 在您的数据库配置文件中。 然后,您可以检查数据库是否按以下方式加载:

if ( $this->load->database('orcl_db') === FALSE )
{
   // do whatever you think is appropriate, but do not panick
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM