add oracle container option

This commit is contained in:
garnier-quentin 2019-08-01 15:23:40 +02:00
parent d278dbbbf1
commit 71781cc540
3 changed files with 25 additions and 5 deletions

View File

@ -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 {
my ($self, %options) = @_;
my $dontquit = (defined($options{dontquit}) && $options{dontquit} == 1) ? 1 : 0;
@ -78,6 +85,9 @@ sub connect {
}
$self->set_version();
if (defined($self->{container}) and $self->{container} ne '') {
$self->query(query => "alter session set container=$self->{container}");
}
return 0;
}

View File

@ -75,6 +75,7 @@ sub init {
'port:s@' => { name => 'port' },
'sid:s' => { name => 'sid' },
'servicename:s' => { name => 'servicename' },
'container:s' => { name => 'container' },
});
$self->{options}->parse_options();
@ -99,6 +100,8 @@ sub init {
$self->{sqldefault}->{dbi}[$i]->{data_source} .= ';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);
@ -130,6 +133,10 @@ Database SID.
Database Service Name.
=item B<--container>
Change container (does an alter session set container command).
=back
=cut

View File

@ -115,6 +115,7 @@ sub check_options {
$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->{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 => Data::Dumper::Dumper($self->{option_results}), debug => 1);
@ -286,8 +287,10 @@ sub connect {
}
$self->{version} = $self->fetchrow_array();
$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;
}