Strangeness with ruby-web and sqlite3

Hello everyone,

I'm getting everything up and running on win32 with ruby-web and
sqlite3. I've gotten quite far and everything was going even smoother
than expected until I ran into the strangeness I'm seeing now and I
just can figure out whats going on.

  db = SQLite3::Database.new( "test1" )
  $theUsers = db.execute( "select * from users" )
  db.close

But, when I try to insert or delete by doing something like:

  db = SQLite3::Database.new( "test1" )
  db.execute( "insert into users values( 5, 'Harold' )" )
  db.close

or:

  db = SQLite3::Database.new( "test1" )
  db.execute( "delete from users where id = 2" )
  db.close

It raises the following exception:
  SQLite3::SQLException
  SQL logic error or missing database

This is highly befuddling to me because all of my interactions with
the database work fine in irb, that is to say that the lines of code
that are failing when run as a cgi under ruby-web don't fail (read:
work) when typed in by hand to irb. I've been able to insert and
delete like a mad man by hand, but when the web-app tries it it fails.

Anyone heard of or seen anything like this before?

Thanks in advance,
-Harold

···

From my .rb cgi script I can select from the db just fine by doing things like:

Hi Harold,

just a guess: is your html-server account allowed to write
that database file?

cheers

Simon

···

From: Harold Hausman [mailto:hhausman@gmail.com]
Sent: Monday, July 17, 2006 2:26 PM

Hello everyone,

I'm getting everything up and running on win32 with ruby-web and
sqlite3. I've gotten quite far and everything was going even smoother
than expected until I ran into the strangeness I'm seeing now and I
just can figure out whats going on.

From my .rb cgi script I can select from the db just fine by
doing things like:

  db = SQLite3::Database.new( "test1" )
  $theUsers = db.execute( "select * from users" )
  db.close

But, when I try to insert or delete by doing something like:

  db = SQLite3::Database.new( "test1" )
  db.execute( "insert into users values( 5, 'Harold' )" )
  db.close

or:

  db = SQLite3::Database.new( "test1" )
  db.execute( "delete from users where id = 2" )
  db.close

It raises the following exception:
  SQLite3::SQLException
  SQL logic error or missing database

This is highly befuddling to me because all of my interactions with
the database work fine in irb, that is to say that the lines of code
that are failing when run as a cgi under ruby-web don't fail (read:
work) when typed in by hand to irb. I've been able to insert and
delete like a mad man by hand, but when the web-app tries it it fails.

Anyone heard of or seen anything like this before?

Thanks in advance,
-Harold

Man, good guess.

Thanks a million!

-Harold

···

On 7/17/06, Kroeger, Simon (ext) <simon.kroeger.ext@siemens.com> wrote:

Hi Harold,

just a guess: is your html-server account allowed to write
that database file?

cheers

Simon

> From: Harold Hausman [mailto:hhausman@gmail.com]
> Sent: Monday, July 17, 2006 2:26 PM
>
> Hello everyone,
>
> I'm getting everything up and running on win32 with ruby-web and
> sqlite3. I've gotten quite far and everything was going even smoother
> than expected until I ran into the strangeness I'm seeing now and I
> just can figure out whats going on.
>
> From my .rb cgi script I can select from the db just fine by
> doing things like:
>
> db = SQLite3::Database.new( "test1" )
> $theUsers = db.execute( "select * from users" )
> db.close
>
> But, when I try to insert or delete by doing something like:
>
> db = SQLite3::Database.new( "test1" )
> db.execute( "insert into users values( 5, 'Harold' )" )
> db.close
>
> or:
>
> db = SQLite3::Database.new( "test1" )
> db.execute( "delete from users where id = 2" )
> db.close
>
> It raises the following exception:
> SQLite3::SQLException
> SQL logic error or missing database
>
> This is highly befuddling to me because all of my interactions with
> the database work fine in irb, that is to say that the lines of code
> that are failing when run as a cgi under ruby-web don't fail (read:
> work) when typed in by hand to irb. I've been able to insert and
> delete like a mad man by hand, but when the web-app tries it it fails.
>
> Anyone heard of or seen anything like this before?
>
> Thanks in advance,
> -Harold
>