$self->next::method(@_);
my $dbh = $self->schema->storage->dbh;
- $self->{db_schema} ||= $dbh->selectrow_array('SELECT USER FROM DUAL', {});
+
+ my ($current_schema) = $dbh->selectrow_array('SELECT USER FROM DUAL', {});
+
+ $self->{db_schema} ||= $current_schema;
+
+ if (lc($self->db_schema) ne lc($current_schema)) {
+ $dbh->do('ALTER SESSION SET current_schema=' . $self->db_schema);
+ }
}