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

Reply via email to