add oracle container option
This commit is contained in:
parent
7fa0df9aba
commit
5bea403b69
|
@ -37,6 +37,13 @@ sub connect_oracle {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub check_options {
|
||||||
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
$self->{container} = defined($self->{option_results}->{container}[0]) ? $self->{option_results}->{container}[0] : undef;
|
||||||
|
return $self->SUPER::check_options(%options);
|
||||||
|
}
|
||||||
|
|
||||||
sub connect {
|
sub connect {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
my $dontquit = (defined($options{dontquit}) && $options{dontquit} == 1) ? 1 : 0;
|
my $dontquit = (defined($options{dontquit}) && $options{dontquit} == 1) ? 1 : 0;
|
||||||
|
@ -76,8 +83,11 @@ sub connect {
|
||||||
}
|
}
|
||||||
return (-1, $err_msg);
|
return (-1, $err_msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->set_version();
|
$self->set_version();
|
||||||
|
if (defined($self->{container}) and $self->{container} ne '') {
|
||||||
|
$self->query(query => "alter session set container=$self->{container}");
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,7 @@ sub init {
|
||||||
'port:s@' => { name => 'port' },
|
'port:s@' => { name => 'port' },
|
||||||
'sid:s' => { name => 'sid' },
|
'sid:s' => { name => 'sid' },
|
||||||
'servicename:s' => { name => 'servicename' },
|
'servicename:s' => { name => 'servicename' },
|
||||||
|
'container:s' => { name => 'container' },
|
||||||
});
|
});
|
||||||
|
|
||||||
$self->{options}->parse_options();
|
$self->{options}->parse_options();
|
||||||
|
@ -99,9 +100,11 @@ sub init {
|
||||||
$self->{sqldefault}->{dbi}[$i]->{data_source} .= ';service_name=' . $options_result->{servicename};
|
$self->{sqldefault}->{dbi}[$i]->{data_source} .= ';service_name=' . $options_result->{servicename};
|
||||||
$self->{sqldefault}->{sqlpluscmd}[$i]->{service_name} = $options_result->{servicename};
|
$self->{sqldefault}->{sqlpluscmd}[$i]->{service_name} = $options_result->{servicename};
|
||||||
}
|
}
|
||||||
|
$self->{sqldefault}->{dbi}[$i]->{container} = $options_result->{container};
|
||||||
|
$self->{sqldefault}->{sqlpluscmd}[$i]->{container} = $options_result->{container};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$self->SUPER::init(%options);
|
$self->SUPER::init(%options);
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -130,6 +133,10 @@ Database SID.
|
||||||
|
|
||||||
Database Service Name.
|
Database Service Name.
|
||||||
|
|
||||||
|
=item B<--container>
|
||||||
|
|
||||||
|
Change container (does an alter session set container command).
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
|
@ -109,12 +109,13 @@ sub check_options {
|
||||||
# return 1 = ok still data_source
|
# return 1 = ok still data_source
|
||||||
# return 0 = no data_source left
|
# return 0 = no data_source left
|
||||||
|
|
||||||
$self->{sid} = defined($self->{option_results}->{sid}[0]) ? $self->{option_results}->{sid}[0]: $self->{option_results}->{tnsnames_sid};
|
$self->{sid} = defined($self->{option_results}->{sid}[0]) ? $self->{option_results}->{sid}[0] : $self->{option_results}->{tnsnames_sid};
|
||||||
$self->{service_name} = defined($self->{option_results}->{service_name}[0]) ? $self->{option_results}->{service_name}[0]: $self->{option_results}->{tnsnames_servicename};
|
$self->{service_name} = defined($self->{option_results}->{service_name}[0]) ? $self->{option_results}->{service_name}[0] : $self->{option_results}->{tnsnames_servicename};
|
||||||
$self->{oracle_home} = defined($self->{option_results}->{oracle_home}) ? $self->{option_results}->{oracle_home} : $ENV{'ORACLE_HOME'};
|
$self->{oracle_home} = defined($self->{option_results}->{oracle_home}) ? $self->{option_results}->{oracle_home} : $ENV{'ORACLE_HOME'};
|
||||||
$self->{tnsadmin_home} = defined($self->{option_results}->{tnsadmin_home}) ? $self->{option_results}->{tnsadmin_home} : $ENV{'TNSADMIN'};
|
$self->{tnsadmin_home} = defined($self->{option_results}->{tnsadmin_home}) ? $self->{option_results}->{tnsadmin_home} : $ENV{'TNSADMIN'};
|
||||||
$self->{local_connexion} = $self->{option_results}->{local_connexion};
|
$self->{local_connexion} = $self->{option_results}->{local_connexion};
|
||||||
$self->{sqlplus_cmd} = $self->{option_results}->{sqlplus_cmd};
|
$self->{sqlplus_cmd} = $self->{option_results}->{sqlplus_cmd};
|
||||||
|
$self->{container} = defined($self->{option_results}->{container}[0]) ? $self->{option_results}->{container}[0] : undef;
|
||||||
|
|
||||||
$self->{output}->output_add(long_msg => "*** DEBUG MODE****\n", debug => 1);
|
$self->{output}->output_add(long_msg => "*** DEBUG MODE****\n", debug => 1);
|
||||||
$self->{output}->output_add(long_msg => Data::Dumper::Dumper($self->{option_results}), debug => 1);
|
$self->{output}->output_add(long_msg => Data::Dumper::Dumper($self->{option_results}), debug => 1);
|
||||||
|
@ -286,8 +287,10 @@ sub connect {
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->{version} = $self->fetchrow_array();
|
$self->{version} = $self->fetchrow_array();
|
||||||
|
|
||||||
$self->{output}->output_add(long_msg => "VERSION: " . $self->{version}, debug => 1);
|
$self->{output}->output_add(long_msg => "VERSION: " . $self->{version}, debug => 1);
|
||||||
|
if (defined($self->{container}) and $self->{container} ne '') {
|
||||||
|
$self->query(query => "alter session set container=$self->{container}");
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue