Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codeigniter and oracle undefined constant: OCI_COMMIT_ON_SUCCESS

I develloping a web-based application with codeigniter and when I try to connect to my oracle entreprise 9g database the framework send me this error:

    A PHP Error was encountered

Severity: Notice

Message: Use of undefined constant OCI_COMMIT_ON_SUCCESS - assumed 'OCI_COMMIT_ON_SUCCESS'

Filename: database/DB.php

Line Number: 142

I tried different method to connect (classic, oracle specific). There is my config/database.php file.

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=*xxx.xxx.xxx.xxx*)(PORT=1521))(CONNECT_DATA=(SID=*DB_NAME*)))';
$db['default']['username'] = '*username*';
$db['default']['password'] = '*password*';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'oci8';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

I think it's not a connection error, can you help me?

like image 911
Bassochette Avatar asked Jul 20 '11 07:07

Bassochette


1 Answers

OCI_COMMIT_ON_SUCCESS is a constant declared in the Oracle PHP extension. Are you sure you have that installed correctly? Is it enabled in php.ini? Can you confirm that you can connect to the database manually with oci_connect?

If you don't have the extension, then you'll need to install it. There is a list of steps I generally take to debug the installation here.

I'm not sure what the value of OCI_COMMIT_ON_SUCCESS is, but you might be able to fake it with your own define, if it comes to that.

like image 172
cwallenpoole Avatar answered Nov 15 '22 00:11

cwallenpoole