- if ( $this->getVar( '_OracleUseSysdba' ) ) {
- $this->db = new DatabaseOracle(
- $this->getVar( 'wgDBserver' ),
- $this->getVar( '_InstallUser' ),
- $this->getVar( '_InstallPassword' ),
- $this->getVar( 'wgDBname' ),
- false,
- DBO_SYSDBA,
- $this->getVar( 'wgDBprefix' )
- );
- } else {
- $this->db = new DatabaseOracle(
- $this->getVar( 'wgDBserver' ),
- $this->getVar( 'wgDBuser' ),
- $this->getVar( 'wgDBpassword' ),
- $this->getVar( 'wgDBname' ),
- false,
- 0,
- $this->getVar( 'wgDBprefix' )
- );
- }
- $status->value = $this->db;
+ $db = new DatabaseOracle(
+ $this->getVar( 'wgDBserver' ),
+ $this->getVar( '_InstallUser' ),
+ $this->getVar( '_InstallPassword' ),
+ $this->getVar( '_InstallDBname' ),
+ 0,
+ $this->getVar( 'wgDBprefix' )
+ );
+ $status->value = $db;
+ } catch ( DBConnectionError $e ) {
+ $this->connError = $e->db->lastErrno();
+ $status->fatal( 'config-connection-error', $e->getMessage() );
+ }
+ return $status;
+ }
+
+ public function openSYSDBAConnection() {
+ $status = Status::newGood();
+ try {
+ $db = new DatabaseOracle(
+ $this->getVar( 'wgDBserver' ),
+ $this->getVar( '_InstallUser' ),
+ $this->getVar( '_InstallPassword' ),
+ $this->getVar( '_InstallDBname' ),
+ DBO_SYSDBA,
+ $this->getVar( 'wgDBprefix' )
+ );
+ $status->value = $db;