I am running into a situation that does not make sense.
I have allocated a flat file under the Operating System as follows (notice
that autocommit is off):
  $dbh = DBI->connect('dbi:SQLite:' . $dbms_file , "", "",
                          { RaiseError => 1,AutoCommit => 0 });
Then, I create multiple tables in a loop with with the sequence:
1) CREATE TABLE ....
2) $sql = SQL::Abstract->new;
3) ($sql,@bind) = $sql->insert($table,\%rec);
4) $sth{$table} = $dbh->prepare($sql);

Finally, right after the loop, i do the following for one table:
1) $#bind = -1;
2) foreach $item (sort keys %rec)
{
      push(@bind, $rec{$item});
}
3) $sth{$table} -> execute(@bind);  # this is line 697 in the error message

4) Sometime later, I do the $dbh->commit().

When I run my loop with only one table, it works.  When I run the loop with
multiple tables, it fails on the following message:
DBD::SQLite::st execute failed: database schema has changed(1) at dbdimp.c
line 389 at ./sarparsed.pl line 697.
DBD::SQLite::st execute failed: database schema has changed(1) at dbdimp.c
line 389 at ./sarparsed.pl line 697.

I suspect that I will need to have multiple $dbh (as in $dbh{$table}) but I
don't want to connect to multiple Operating System files, just one.
am I on the right track?

Regards,

[EMAIL PROTECTED]
NCCI
Boca Raton, Florida
561.893.2415
greetings / avec mes meilleures salutations / Cordialmente
mit freundlichen Grüßen / Med vänlig hälsning


The information contained in this e-mail message is intended only for 
the personal and confidential use of the recipient(s) named above. This 
message may be an attorney-client communication and/or work product and 
as such is privileged and confidential. If the reader of this message 
is not the intended recipient or an agent responsible for delivering it 
to the intended recipient, you are hereby notified that you have 
received this document in error and that any review, dissemination, 
distribution, or copying of this message is strictly prohibited. If you 
have received this communication in error, please notify us immediately 
by e-mail, and delete the original message.

Reply via email to