Sending SQLite3 .timeout command in Command-Line Mode

Several different computers are querying and writing to a SQLite3 database located in a shared folder on the network. Occasionally a “database is locked” error is produced. Is there a way of sending a .timeout command as if I was working from the shell, in Command-Line Mode? I understand I can write an error handler which will accomplish the same thing but I am trying to avoid that option.

property databaseFolder : POSIX path of (path to public folder as text) & "Databases/"
property databaseName : "myDatabase"
property databasePath : quoted form of (databaseFolder & databaseName as text)
property table1 : "Main"

set xxx to do shell script "sqlite3 " & databasePath & " \"select * from " & table1 & "; \""


I don’t understand fully what you mean, but there are signals (man signal) you can use with the kill command, when you know the process identificator of SQLlite3.

I am asking about the .timeout command you can find in man sqlite3.


If anyone is interested, Michael Black from the sqlite-users mailing list has answered my question.

If you upgrade SQLite3 to the latest version, you can use the -cmd switch in the command below.

set xxx to do shell script "sqlite3 -cmd \".timeout 2000\"  " & databasePath & " \"select * from "& table1 & ";\""