[Rio-pm] Problemas utilizando o DBD::CSV

breno breno em rio.pm.org
Sexta Maio 10 19:10:52 PDT 2013


Oi Giuliani!

Aparentemente, ao contrário do que a documentação afirma, o
"csv_tables" só pode ser definido depois do connect(). Não parei pra
olhar pq mas, enquanto isso não funciona:

my $dbh = DBI->connect( 'DBI:CSV:', undef, undef, {
  csv_tables => {
    artifacts => {
      file => 'ArtifactsList.csv',
    },
  }
});

isso aqui funciona:

my $dbh = DBI->connect ('DBI:CSV:');

$dbh->{csv_tables}{artifacts} = {
    sep_char     => ",",
    file         => 'ArtifactsList.csv',
};

Olhando o seu exemplo, acho que vale lembrar também que dizer os
col_names e skip_first_row => 1 faz pouco sentido. Se a primeira linha
tem os nomes dos campos da tabela, o DBD::CSV vai achar e resolver
isso pra vc automaticamente (ou seja, para cada tabela é só passar o
'sep_char' e o 'file').


[]s!

-b


2013/5/10 Giuliani Sanches <giulianisanches em gmail.com>:
> Pessoas,
>
> Estou tentando utilizar o DBD::CSV porém enfrentando algumas dificuldades
> como pode ser visto aqui:
>
> https://gist.github.com/khaoz/dcc9e8805b8c45b0fc5f
>
> A mensagem de erro
>
> Execution ERROR: Cannot open D:\Playground\Exporter\artifacts: Permission
> denied (13)
>
> Indica que um determinado diretório de nome artifacts não tem permissão.
>
> O fato é que o diretório não existe (e não irá existir) e o que entendi pela
> documentação do módulo é que o valor f_dir inicial (uma das chaves do $attr
> do método connect) é o diretório corrente e o artifacts usado como chave
> dentro do csv_tables seria o nome da tabela da instrução select e este seria
> executado no ArtifactsList.csv.
>
> Onde esta o "pulo do gato" ?
>
> Abraço.
>
> P.S: Ia copiar a SP-PM tb, mas acho que todo mundo esta em ambas as listas
> :)
>
> Giuliani D. Sanches
> about.me/giulianisanches
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm


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