Bom dia esse é um post técnico.
Se você está com problemas com autorização do SVN depois de uma mudança de senha do seu login no windows e estiver usando eclipse com o plugin do Subclipse é só ir em:
Preferences->Team -> SVN -> SVN Interface
E mudar de JavaHL para SVNKit.
Tente usar de novo e ele pedirá a senha.
Fim.
quinta-feira, 29 de agosto de 2013
quinta-feira, 8 de agosto de 2013
Perl - Debugando erros de DB
Bom dia pessoal,
Este é um post técnico.
Esse é mais um post sobre perl, dessa vez para quem precisa debugar erros no banco de dados. Usando o DBI , uma api bastante utilizada para fazer chamadas em bancos mysql, oracle etc, vocês podem precisar fazer processos em batch. Quer dizer, fazer várias chamadas no bd fazendo um commit só. O problema é que se der um erro no meio dessas chamadas, o erro padrão que é lançado é bem preciso sobre "como errou" e não sobre "o que errou". Para o programador poder verificar isso mais facilmente é bem simples. Só basta usar o método TRACE da API. Exemplo abaixo:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Este é um post técnico.
Esse é mais um post sobre perl, dessa vez para quem precisa debugar erros no banco de dados. Usando o DBI , uma api bastante utilizada para fazer chamadas em bancos mysql, oracle etc, vocês podem precisar fazer processos em batch. Quer dizer, fazer várias chamadas no bd fazendo um commit só. O problema é que se der um erro no meio dessas chamadas, o erro padrão que é lançado é bem preciso sobre "como errou" e não sobre "o que errou". Para o programador poder verificar isso mais facilmente é bem simples. Só basta usar o método TRACE da API. Exemplo abaixo:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
use DBI;
### Remove any old trace files
unlink 'dbitrace.log' if -e 'dbitrace.log';
### Connect to a database
my $dbh = DBI->connect( "dbi:Oracle:archaeo", "username", "password" );
### Set the tracing level to 1 and
prepare()
DBI->trace( 1 );
doPrepare()
;
### Set trace output to a file at level 2 and
prepare()
DBI->trace( 2, 'dbitrace.log' );
doPrepare()
;
### Set the trace output back to STDERR at level 2 and
prepare()
DBI->trace( 2, undef );
doPrepare()
;
exit;
### prepare a statement (invalid to demonstrate tracing)
sub doPrepare {
print "Preparing and executing statement\n";
my $sth = $dbh->prepare( "
SELECT * FROM megalith
" );
$sth->
execute()
;return;
}~
### font : http://oreilly.com/catalog/perldbi/chapter/ch04.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
O trace só será invocado para cada método que for realizado e acontecer algo de anormal, AKA erros. Legal é que você pode enviar para uma saída esse trace com o segundo argumento do método. Melhor do que do que isso, para cada erro você pode manipula-lo com um :
$statement->trace_msg ( " SUA STRING AQUI");
Quer dizer que para cada erro, você pode personalizar o que você estava mandando, e isso resolve o problema da falta de verbosidade do nosso amigo "erro padrão do database". ( link )
FIM.
Assinar:
Postagens (Atom)