More action with Struts 2
In a recent review of Struts 2 in Action, JW Blogger Oleg Mikheev notes that Struts 2 is "just a collection of extensions built upon WebWork, which is ultimately the right thing to learn before starting a Struts 2 project." While Struts 2 has some architectural flaws, Oleg calls WebWork well-designed, well-tested, and reliable. What are your experiences using Struts 2 and WebWork?

Also see "Hello World the WebWork way," a JavaWorld excerpt from WebWork in Action, by Patrick Lightbody and Jason Carreira.

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address:

Use Microsoft Access with Java

How do you connect to an Access-based database with JDBC?

Q Two questions:

  1. How do you connect to a Microsoft Access-based database (in a Windows system) using JDBC?
  2. In Class.forName(....) and DriverManager.getConnection(....), what driver and URL should you use?


AThere are two techniques available for connecting to a data source using JDBC. First, if your program will talk to an ODBC data source, you can use the JDBC-ODBC bridge included with your JDK. In the case of Sun, you would use sun.jdbc.odbc.JbdcOdbcDriver.

Specifically, using Class.forName:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");


or the command line:

java -Djdbc.drivers=sun.jdbc.odbc.JdbcOdbcDriver <program name>


Second, you can connect to your data source through a third-party, vendor-specific bridge. In the case of a third party driver, you simply substitute that driver for the JDBC-ODBC bridge driver.

See the Resources section below for a link to Sun's database of available drivers.

Once you have a driver loaded and your data source set up, getting a connection is a simple matter of feeding the correct URL, name, and password to the getConnection() method.

A JDBC URL takes the following form:

jdbc:<subprotocol>:<subname>


In the case of Microsoft Access and the ODBC bridge, it would take the form:

jdbc:odbc:<NAME>


where <NAME> is the name that you gave the data source when you set it up.

As an aside for those using other drivers, <subprotocol> is the name of the connectivity mechanism used by the driver.

In my answer, I've assumed quite a bit of JDBC knowledge. If you're completely new to JDBC, or even if you just need to brush up your skills a bit, head on over to the JDBC Short Course (see Resources), an excellent training course that will get you up to speed quickly.

Author Bio

Tony Sintes is a principal consultant at BroadVision. Tony, a Sun-certified Java 1.1 programmer and Java 2 developer, has worked with Java since 1997.
Resources