[Cascavel-pm] MVC e WxPerl

Alceu Rodrigues de Freitas Junior glasswalk3r em hotmail.com
Quinta Maio 3 05:53:31 PDT 2007


Daniel,
Comentários abaixo...> From: daniel em ruoso.com> To: cascavel-pm em pm.org> Date: Wed, 2 May 2007 23:48:16 +0100> Subject: Re: [Cascavel-pm] MVC e WxPerl> > Qua, 2007-05-02 às 22:46 +0300, Alceu Rodrigues de Freitas Junior> escreveu:> > Não, ODBC é um Driver que é específico de Windows, você está usando o> DBI sobre ODBC, o que é provavelmente desnecessário. Mesmo em Windows> você pode usar os diretamente DBI -> DBD -> SERVER, ao invés de usar DBI> -> ODBC -> DBD -> SERVER. O DBI já faz o papel que o ODBC faria.
Irgh... eu fiquei confuso agora. Algum link explicando melhor sobre isso? Eu acho que peguei o tutorial errado sobre o assunto: http://search.cpan.org/~jurl/DBD-ODBC-1.06/ODBC.pm. Você não estaria sugerindo utilizar um driver específico para um banco de dados, estaria? Na época que eu criei uma versão em linha de comando para esse programa, eu tentei usar o Win32::ODBC. Por alguma razão estranha, ele simplesmente não funcionou.
 
Esclarecendo outro ponto: a especificação do ODBC não é aberta? A implementação do UNIX é diferente?
 > De qualquer forma, o código tinha algumas coisas específicas de ODBC que> não precisariam ser específicas de ODBC. Segue um patch que corrige> isso, com a diferença que o teu arquivo INI tem que dizer o DSN do DBI e> não do ODBC, o que basicamente significa que tem que incluir o> 'dbi:ODBC:' no arquivo de configuração, e não amarrado em código.
Chuif... que alegria! Nem lembro quando foi a última vez que recebi um patch para um software que liberei para uso público. Obrigado.
> E repito, todas as funcionalidades que você estava obtendo utilizando> uma função específica do driver poderiam ser obtidas diretamente> utilizando o DBI. Então aí vai o patch
> my $sth = $self->get_dbh()->prepare($query)> or croak "Cannot parse the query: $DBI::errstr";> + $sth->execute();
Daniel, essa última linha aqui não me pareceu uma boa. Explico porquê.
 
Se você utilizar a funcionalidade conforme estava escrito originalmente, você não teria que executar a query. Bastava um prepare() e o ODBC já retornaria os dados sobre as colunas utilizadas na query, o que seria ideal em termos de performance (considerando se a query for muito lenta, por exemplo). Daria para fazer isso sem um execute() ?
 
[]'s
Alceu
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070503/52afc88e/attachment.html 


Mais detalhes sobre a lista de discussão Cascavel-pm