Dear Y'all - 

Damn it, I sent a broken version.  Apologies.  The following snippet includes 
the missing "while" line.

...
  $sth = $dbh->prepare("SELECT * FROM $table_name") || die $dbh->errstr;
  $sth->execute() || print "$sth->errstr\n\n";
  
  while( $r = $sth->fetchrow_hashref) {
    my $newrec = $schema->resultset($table_name)->create($r);
    $newrec->in_storage();
  }
  $sth->finish;
...

On Sep 23, 2013, at 1:13 PM, William Goedicke <[email protected]> 
wrote:

> Dear Y'all - 
> 
> I'm migrating a bunch (100ish) tables from Foxpro 2.6 to MSSQL.
> 
> The following code works almost perfectly.
> 
> use VB_Temp::Main;
> use DBI;
> use Data::Dumper;
> 
> my $schema = VB_Temp::Main->connect('dbi:ODBC:VB_Temp');
> 
> my $dbf_dir = 'C:/users/goedicw/documents/voicebase/voicedb/';
> my $dbh = DBI->connect("DBI:XBase:".$dbf_dir) or die $DBI::errstr;
> 
> foreach ( keys $schema->{'class_mappings'}) {
>   /::([^:]+)$/;
>   my $table_name = $1;
> 
>   my $vb_temp_rs = $schema->resultset($table_name);
> 
>   $vb_temp_rs->delete_all;
> 
>   $sth = $dbh->prepare("SELECT * FROM $table_name") || die $dbh->errstr;
>   $sth->execute() || print "$sth->errstr\n\n";
> 
>     my $newrec = $schema->resultset($table_name)->create($r);
>     $newrec->in_storage();
>   }
>   $sth->finish;
> }
> 
> Except it fails on datetime fields.  I see that the insert statement is 
> constructed to look like:
> 
> insert into tbl (key, somedate) values(100, 19930312);
> 
> which fails.
> 
> insert into tbl (key, somedate) values(100, '199303123') 
> 
> however works fine, but I can't get my script to generate the field value 
> that way.
> 
> All help is, of course, most appreciated.
> 
>    - Billy
> 

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to