这是我的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());
}