[Cascavel-pm] conectando db com perl
Luis Campos de Carvalho
monsieur_champs em yahoo.com.br
Quarta Agosto 18 16:29:57 CDT 2004
On Wed, 18 Aug 2004, Guilherme Oliveira wrote:
> Boa tarde
Boa tarde, meu caro Guilherme!
> tenho algumas questões e gostaria de receber as respostas mesmo que
> parciais
Vamos ver se eu consigo ajudar... por favor, se alguma coisa não ficar
clara o suficiente, poste novamente, que eu me esforço mais. :-)
> 1 Como me conecto a um banco de dados com perl Access ou SQL
Configure uma Fonte de Dados ODBC, e use DBI e DBD::ODBC.
Leia mais sobre isso em
DBI
http://search.cpan.org/~timb/DBI-1.43/DBI.pm
DBD::ODBC
http://search.cpan.org/~jurl/DBD-ODBC-1.09/ODBC.pm
Caso você tenha uma fonte de dados MS-SQL (Microsoft SQL Server),
acredito que possa usar um driver específico, ou ODBC. Infelizmente, a
busca que eu fiz não trouxe drivers específicos para servidores Microsoft
SQL Server... o que não quer dizer que eles não existam. :-)
> 2 Tendo dentro de um diretótio varias paginas em html como faço para
> altmomatizar a inserção de todas as paginas no db lgo como *.htm ( se
> tivesse um modo de pegar as informações na web e joga-las direto no db
> seria show) pq sempre vejo o pessoal falar que dá que é tranquilo mas até
> agora não encontrei documentação em portugues sobre o assunto.
Muito possivelmente não há documentação em português sobre este assunto.
Eu não tenho idéia do que você deseja usar como chave primária para os
dados, mas posso sugerir o nome do arquivo. Assim, alguma coisa como
#!/usr/bin/perl
use strict;
use DBI;
use English;
my $dbh = DBI->connect( $data_source, $user, $password )
or die DBI::errstr;
my $sth =
$dbh->prepare( 'INSERT INTO Pages( page_name, page_data )
VALUES ( ?, ? ) '
);
local $INPUT_RECORD_SEPARATOR = undef;
while( my $filename = <*.html> ){
open HTML, $filename
or die $!;
my $data = <HTML>;
$sth->execute( $filename, $data )
or warn "$filename: ".$sth->errstr()."\n";
close HTML;
}
$dbh->disconnect;
__END__
> 3 Tendo colocado as paginas no formato txt no banco vou usar ER para
> conseguir separar o que é texto do que é codificação html.
NUNCA FAÇA ISSO!!!!!!
NUNCA FAÇA ISSO!!!!!!
Você não vai conseguir gerar uma expressão regular inteligente o
suficiente para remover os tags HTML sem causar dano às suas páginas.
A razão para isso está explicada neste arquivo:
http://www.perlmonks.org/index.pl?node_id=284298
Use o Parse::RecDescent no lugar:
http://search.cpan.org/search?mode=module&query=Parse%3A%3ARecDescent
> Ai fica a pergunta como pegar o campo da tabela que contenha o texto
> bruto e inserir no outro campo apenas a extração da ER.
Não acho que você tenha problema para deduzir isto dos exemplos que eu
dei acima, e dos artigos que te indiquei para ler. :-) Se você tiver
problemas, poste algum código seu aqui que a gente ajuda você a resolver o
problema, do jeito que você começar...
> Sou novo no perl e estou usando pela sua facilidade na manupilaçao de
> textos.
Muito bom! Benvindo! Espero que você goste e fique!
> Se alguém tiver material em português sobre os tópicos abordados ajuda
> ainda mais.
Eu não tenho. Lamento. Acredito que você terá muito mais acesso e
possibilidades de pesquisa se aprender um pouco de inglês (isto não se
aplica apenas ao Perl, mas a qualquer coisa de computação moderna, eu
acredito...).
> Pq aprender como se faz é sem duvida muito mais gratificante do que
> pegar pronto.
:-) Este é o espírito!
Espero que você se divirta muito por aqui!
Boa sorte, mantenha a gente informado e putamplexos!
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Luis Campos de Carvalho is BsC in Computer Science,
Certified Oracle DBA, Sao Paulo PM Leader, Cascavel
PM Moderator, Perl Monk and Perl/Unix affictioned.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Mais detalhes sobre a lista de discussão Cascavel-pm