dbi-using_dbd_csv_with_unix_files

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



To: dbi-users@perl.org
From: Rick Edwards <ricke@mjr.com>
Subject: Re: First record only with DBD::CSV
Date: Thu, 19 Jul 2001 12:03:40 -0400

On Thursday 19 July 2001 11:50 am, you wrote:
> I'm using DBD::CSV v0.1027 with DBI v1.18 and perl 5.6.1 on RedHat Linux
> and it seems as though DBD::CSV only fully processes files saved in DOS
> format(?!).  If I save them in UNIX format only the first row makes it into
> each of the tables.
>
> Is this deliberate?

The default value for the eol is '\r\n' which is the EOL in DOS.

You can set up your connection like this:

my $dbh = DBI->connect("DBI:CSV:")
   or die "Cannot connect to CSV database: $DBI::erstr\n";;
 
my $columnNames = [
      qw(
         Column1
         Column2
         Column3
         Column4
         Column5
      )
   ];
 
$dbh->{'csv_tables'}->{my_table} = {
   'eol' => "\n"
   'file' => "my_table.csv",
   'col_names' => $columnNames
};

Rick

===

To: dbi-users@perl.org
From: Rick Edwards <ricke@mjr.com>
Subject: Re: First record only with DBD::CSV
Date: Thu, 19 Jul 2001 12:25:53 -0400

Oops, I forgot to add 'skip_rows' to that last bit.

$dbh->{'csv_tables'}->{my_table} = {
   'eol' => "\n"
   'file' => "my_table.csv",
   'skip_rows' => 0,
   'col_names' => $columnNames
};

It also assumes that the first row of the data file *does not* contain the 
column names. If your file does then leave off the 'skip_rows' and 
'col_names' bits.

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu