How to configure Squirrel SQL client to work with MS Access

Harry Duong picture Harry Duong · Dec 10, 2014 · Viewed 8.4k times · Source

I'm struggling to get Squirrel SQL to connect to MS Access database (just a normal one, no password):

  • I create an Alias and use Driver: JBDC ODBC bridge (There is a tick in front of this driver)
  • I don't know what to put in URL
  • -------- I use: Path to database file ~~> Unsuccessful
  • -------- I use: jdbc:odbc:Path to database file ~~> Unsuccessful
  • I'm running it on windows 7.

I guest this should be a simple straight forward process, but please advise me how to get it working.

Answer

Gord Thompson picture Gord Thompson · Apr 13, 2016

Now that the JDBC-ODBC Bridge has been removed from Java 8 the previous answer to this question will become less relevant over time. The following method uses the UCanAccess JDBC driver so it will work with Java 8 and it will also work on non-Windows platforms.

First, make sure that you are using UCanAccess version 3.0.5 or later. Download the latest version of the UCanAccess driver (bin.zip file) and unzip it to a convenient location. For this example I unzipped it to

/home/gord/Downloads/JDBC/UCanAccess

uca305folder.png

Note: When unzipping the distribution file be sure to specify "Keep directory structure" (or similar, depending on your unzip tool) so the folder structure appears as in the screenshot above.

Creating a Squirrel SQL "Driver" entry (one-time setup)

In Squirrel SQL, create a new "Driver" entry for UCanAccess

SquirrelDriver1

and specify the location of loader/ucanload.jar on the "Extra Class Path" pane

SquirrelDriver2

Note: Remember to enter net.ucanaccess.jdbc.UcanloadDriver as the "Class Name" (see above).

Creating a database "Alias" (one for each database)

To open a specific database, create a Squirrel SQL "Alias" entry, replacing the <path_to_database_file> placeholder with the actual path to the file

SquirrelAlias

or, in Windows

WindowsAlias.png

Important: Make sure that the connection URL ends with ;showSchema=true.