[SP-pm] DBIx::Class::Schema - Problemas com insert
Thiago Rondon
thiago at aware.com.br
Tue Jun 16 09:27:12 PDT 2009
Ah, um detalhe, se você comentar a sequence o problema vai continuar
ocorrendo porque o processo_id é uma PK.
Experimente passar o número manualmente para testar se realmente é o
problema da sequencia ou não.
Ou então debugar o código melhor que passei anteriormente do DBIx, por
que fiz um teste local aqui agora, e como você mesmo disse já utilizou
desta maneira em outras situações.
Realmente estranho, se tiver mais alguma coisa para postar, como a
sequencia criada, e etc, mande que fiquei curioso sobre o problema.
Abs,
-Thiago Rondon
Andre Carneiro escreveu:
> Não é o Oracle q me retorna essa mensagem, é o DBIx::Class::ResultSet.
>
> Não tem nenhum ORAxxx erro da vida...
>
> Se eu comento a chamada para a sequence, o erro continua ocorrendo.
>
> Além disso, eu testei a mesma sequence diretamente no banco de dados e
> funcionou perfeitamente, e com DBI puro e também funcionou.
>
> No momento eu to fuçando alguma coisa q talvez seja necessário definir
> na classe que representa a minha tabela. Mas é um 'chute' apenas...
>
>
> Cheers!
>
>
>
> 2009/6/16 Thiago Rondon <thiago em aware.com.br <mailto:thiago em aware.com.br>>
>
>
> Andre,
>
> Isto parece Oracle (*nextval). :-) E tomando como base de que é
> Oracle.
>
> Parece que a sequencia/trigger não esta sendo encontrada na hora
> de inserir, e ele não esta conseguindo acessar o teu
> 'some_sequence.nextval' para incrementar o número. Verifique como
> esta a tua sequencia para auto-incremento do campo processo_id.
>
> Abs,
> -Thiago Rondon
>
> Andre Carneiro escreveu:
>
> Olá monges!
>
>
> Estou com um pequeno problema para inserir dados com
> DBIx::Class::Schema
> Tenho uma classe q representa a seguinte tabela abaixo:
>
> <code>
>
> package DBIC::Schema::Processo;
>
> use strict;
> use warnings;
>
> use base 'DBIx::Class';
>
> __PACKAGE__->load_components("Core");
> __PACKAGE__->table("processo");
> __PACKAGE__->add_columns(
> "processo_id",
> { data_type => "INTEGER", is_nullable => 0, size => undef },
> "fornecedor_id",
> { data_type => "INTEGER", is_nullable => 0, size => undef },
>
>
> );
> __PACKAGE__->set_primary_key("processo_id");
>
>
> 1;
> </code>
>
>
> Para inserir estou usando o seguinte codigo:
>
>
> <code>
>
> $schema->resultset('Processo')->create({
> processo_id =>
> \'some_sequence.nextval'
> fornecedor_id => $self->spider_id
> });
>
>
> </code>
>
>
> Estou obtendo a seguinte mensagem de erro:
>
> " DBIx::Class::ResultSet::create(): Unable to find a sequence
> INSERT trigger on table 'processo' "
>
>
> Não consigo encontrar o motivo disso. Isso nunca aconteceu
> antes. Será que alguém poderia me ajudar?
>
>
>
> Obrigado!
>
>
>
>
>
>
>
>
> --
> André Garcia Carneiro
> Analista/Desenvolvedor Perl
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org <mailto:SaoPaulo-pm em pm.org>
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org <mailto:SaoPaulo-pm em pm.org>
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
>
> --
> André Garcia Carneiro
> Analista/Desenvolvedor Perl
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
More information about the SaoPaulo-pm
mailing list