Mike Campbell wrote:
I've done pretty much what you describe earlier today. My database is
very small, only a few tables, so I have a sql script that I use to
build and rebuild the database tables with.
I precreate my tables using the command-line sqlite3 or sqlite2
executable reading the sql file.
When I create the tables using sqlite3 and my perl script uses
DBD-SQLite-1.27 I get the prepare error when accessing the database from
the web interface (but works fine when the script is run as 'perl
file.pl'). I then remove the database file and re-create it using
sqlite2 and the same sql scripts. In my perl script I use
DBD-SQLite2-0.33 and when I access the database using the web interface
it all works.
I suspect that somehow my web server/mod_perl is using a different a
different DBD driver somehow. How can I determine what sqlite and/or
perl files the webserver is using? Since this is apache on linux I would
suspect that it uses the perl modules in /usr/lib/perl5 but perhaps not.
If the webserver is using sqlite v2 that would explain the behavior I am
seeing but I am at a loss as to how to determine what apache is using.
If the DBI connect string you are using starts with "dbi:SQLite2:dbname=" then
you are using v2; if it starts with "dbi:SQLite:dbname=" then you are using v3.
As for finding out what version of DBD::SQLite (SQLite 3) you are using, you
should be able to put code like this in your code either on the shell script or
mod_perl:
use DBD::SQLite;
my $version3 = 'the SQLite v3 is ' . DBD::SQLite::VERSION;
Then display or log the value of $version3 where you can see it.
To see what version of DBD::SQLite2 (SQLite 2) you are using, same process but
for the added '2':
use DBD::SQLite2;
my $version2 = 'the SQLite v2 is ' . DBD::SQLite2::VERSION;
Note that DBD::SQLite was SQLite 3 from version 1.0 and later; before version
1.0 it was SQLite 2.
So, in particular run the above lines under mod_perl and see what you get. If
either module isn't installed, the 'use' for it should throw an exception.
-- Darren Duncan
_______________________________________________
DBD-SQLite mailing list
DBD-SQLite@lists.scsys.co.uk
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbd-sqlite