Opa Breno, bom dia. Obrigado pela resposta.
Realmente estou fazendo mau uso do skip_first_row. O fato é que meu arquivo não tera informação de colunas na primeira linha, por isto o col_names. Notei revisando a doc que ao utilizar o col_names o skip_firts_row será setado pra false, que é o comportamento desejado. By default DBD::CSV assumes that column names are stored in the first row > of the CSV file and sanitizes them (see raw_header below). *If this is > not the case, you can supply an array ref of table names with the col_names > attribute. In that case the attribute skip_first_row will be set to FALSE* > . Abraço. Giuliani D. Sanches about.me/giulianisanches 2013/5/10 breno <[email protected]> > 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 <[email protected]>: > > 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 > > [email protected] > > http://mail.pm.org/mailman/listinfo/rio-pm > _______________________________________________ > Rio-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/rio-pm
