Using SQLite with Eclipse and DbEdit

[Warning: For those not of a technical bent, what follows will be as dull as the dullest, tepid dishwater you can imagine, so probably better to venture to something more interesting.]

SQLite.gifEvery so often, I'll decide to tinker with a bit of code to extend my knowledge and see if I can still knock up anything that'll work on ye olde Interwebby. Inevitably, this involves spending far more time setting up an environment than actually producing anything.

As I tend not to make notes (v. bad habit, I know) and then forget how it worked, I've resolved to write up little blog posts as an aide memoire for the next time. If they help someone else in the same predicament, marvellous. The steps below worked for me, but it's always a bit of a gamble that the process is actually what you're supposed to do.

So, after much time spent with Mr Google, a number of dead ends and some very useful posts, this is how I managed to get my setup (Mac OSX, Eclipse, DbEdit, SQLite) working. If you've spotted errors, or have any suggestions, please feel free to leave a comment.

Step One - Download JDBC Drivers

Firstly, you'll need to find and install a JDBC driver for SQLite. The one on the Zentus website did the trick:

Save the sqlitejdbc-v053.jar to a memorable directory, I created a jdbc drivers folder in the Eclipse application folder. Just remember where it's saved.

Step Two - Install JDBC Driver in DbEdit

Fire up Eclipse and open the DbEdit perspective using the menu:

Windows > Open Perspective > Other... > DbEdit

DbEdit provides the option to install new JDBC database drivers when you create a new database connection, which is step three:

Step Three - Install Create SQLite Java Database Driver

  1. Select the Connection option from the main menu bar at the top of the page, a dialog box will pop up
  2. Give your new connection a name e.g. SQLite DB
  3. Click on the drop down for JDBC Driver field, if an SQLite driver is available, select it and skip to step four below
  4. OK, so you need to install the SQLite driver downloaded above, click on the Classpath tab in the dialog box
  5. Click on the Add Archive option. Find the driver you saved in that directory and click OK, then click Apply.

Step Four - Create Database Connection

This is where things got painful for me. The format for the JDBC Server was a right little sod. Thanks to the clues on this page, I finally figured it out.

  1. If you're following the step above, switch back to the Common tab in the dialog box by clicking it
  2. Select the SQLite JDBC driver, if you've used the one above, it'll read org.SQLite.JDBC
  3. Now, you'll need to enter the Server URL, which will take one of the formats listed below
  4. Click OK. There might be a prompt for username/password, I'm not using one so could click OK.

Possible format for JDBC SQLite Server URL:

jdbc:sqlite://dirA/dirB/dbfile
jdbc:sqlite:/DRIVE:/dirA/dirB/dbfile
jdbc:sqlite:///COMPUTERNAME/shareA/dirB/dbfile

As an example, on the Mac that I'm using the format of the URL was:

jdbc:sqlite://Users/myuser/Sites/test/test.sqlite

which is the full path to the SQLite file. I haven't tested it, but on a Windows machine, it would most likely be:

jdbc:sqlite:/DRIVE:/dirA/dirB/dbfile

which in a real-world example, might look like this (N.B. I haven't tested this):

jdbc:sqlite:/C:/Documents and Settings/Sam/Sites/Test/test.db

I hope this is useful for anyone else who is sitting at their computer barely the resisting the temptation to throw it out the window.

2 comments

Comments

I have tried out dbedit with

I have tried out dbedit with some sqlite databases generated with turbogears/sqlalchemy and experienced strange behaviour like this:

  • all types are varchar with length of 2000000000
  • the values of the autoincrementing primary keys and some others are <not implemented by SQLite JDBC driver>
  • foreign key references to the primary keys are shown correctly despite the varchar type

So (at least for me) it is not practical to work with it. May be I missed some preferences to set up, but I don't feel so. For linux users sqlitebrowser is a better choice!And even it is more "smooth" to integrate, since you only have to setup a file association like *.sqlite or *.db and link it with the external editor at /usr/bin/sqlitebrowser. You don't have to setup for every single database file in your projects an extra connection (what a mess) - you simply click on it - that easy ;)

Thanks for the tutorial, it

Thanks for the tutorial, it helped me a lot.

And you are correct about the windows format, it worked for me.

By the way, to install dbedit you can add this to "Available software sites": http://dbedit.sourceforge.net/update

Thanks!

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.

More information about formatting options