Я последовал примеру на wiki.class-dbi.com, чтобы изменить сеанс Oracle, но, похоже, он не работает. Ниже приведен фрагмент моего кода (для ясности проблемы удалены ограничения и предупреждения).
package MyDB;
use base 'Class::DBI::Oracle';
__PACKAGE__->connection('dbi:Oracle:dbname', 'user', 'password');
__PACKAGE__->db_Main->do(q[alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss']);
1;
package MyDB::TestTable;
use base MyDB;
__PACKAGE__->table('my_test_table');
__PACKAGE__->columns(.....);
1;
package main;
use MyDB;
my @foos = MyDB::TestTable->search( seq_number => 1 );
foreach my $foo ( @foos ) {
say $foo->created_time;
}
Однако результат равен , а не , что я ожидаю, как в гггг-мм-дд чч24: ми: сс :
Fri May 19 19:58:12 2006
Этот оператор "alter session", использующий DBI напрямую, а не CDBI, работает.
Что может быть причиной проблемы здесь?
Спасибо.