如何将PDO-oci与codeigniter连接起来

时间:2016-09-22 17:20:48

标签: php oracle codeigniter pdo codeigniter-3

这是我的database.php(application / config / database.php)的代码(我修改了前半部分以符合我的服务器配置):

$db['default'] = array(
'dsn'   => 'oci:dbname = (DESCRIPTION =
                    (ADDRESS_LIST =
                      (ADDRESS = (PROTOCOL = TCP)(HOST = Server ip)(PORT =  Server port))
                    )
                    (CONNECT_DATA =
                      (SERVICE_NAME = project)
                    )
                  )',
'hostname' => 'Server ip',
'username' => 'exampg',
'password' => 'Server pw',
'database' => 'project_exampg',
'dbdriver' => 'pdo');

当我在控制器中加载数据库($ this-> load-> database())时,我遇到了:

SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-12560: TNS:protocol adapter error

如何解决这个问题?

我已经使用以下代码测试了我的pdo-oci连接(它可以工作):

$tns = "(DESCRIPTION =
(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = Server IP)(PORT = Server port))
)
(CONNECT_DATA =
  (SERVICE_NAME = project)
))";
$db_username = "exampg";
$db_password = "server pw";
try{
    $db = new PDO("oci:dbname=".$tns,$db_username,$db_password);
}catch(PDOException $e){
    echo ($e->getMessage());
}

0 个答案:

没有答案