Open main menu

Wikibooks β

Java Programming/Database Programming

< Java Programming
Networking Java Programming
Database Programming
Regular Expressions
Navigate Advanced topic: v  d  e )

Java uses JDBC, an API that defines how a client may access a database. Its drivers may be installed first. [1][2]

Connecting to Microsoft Access databasesEdit

The following is used to open an ODBC connection to an Access database. Note that the username (and password, if applicable) are given in the DSN rather than the getConnection call. This is a MS Windows-only example, due to the requirement for the Microsoft Access Driver.

String path = "C:/example.mdb";
String dsn = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + path + ";UID=admin";
accessConn = DriverManager.getConnection(dsn, "", "");

Connecting to MySQLEdit

try {
   Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/MySite?user=MyAccount&password=MyPassword");
} catch(SQLException e) { e.printStackTrace(); }

Connecting to Oracle DatabaseEdit

This script returns the database size:

import java.sql.*; 
import oracle.jdbc.*; 
import oracle.sql.*; 

public class OracleDatabase {
  public static void main(String[] args) {
    try {
      DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
      Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:MyDatabase", "MyAccount", "MyPassword"); 	
      String sql = "SELECT sum(bytes) from dba_segments;";
      Statement stmt = conn.createStatement();
    } catch(SQLException e) { e.printStackTrace(); }

Connecting to PostgreSQLEdit

try {
   Connection conn = DriverManager.getConnection("jdbc:postgresql:MyDatabase", "MyAccount", "MyPassword");
} catch(SQLException e) { e.printStackTrace(); }

Know errorsEdit

package oracle.jdbc does not existEdit

If you have Oracle Database on your PC, just add to the classpath its following files[3]:

  • C:\oracle12\app\oracle\product\12.1.0\dbhome_1\jdbc\lib\ojdbc7.jar
  • C:\oracle12\app\oracle\product\12.1.0\dbhome_1\sqlj\lib\runtime12.jar

Otherwise, ojdbc7.jar can be downloaded from, and add it to the compilation. Eg:

javac -classpath ojdbc7.jar

ORA-28009: connection as SYS should be as SYSDBA or SYSOPEREdit

Just add " as sysdba" after your Oracle account name, eg:

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:MyDatabase", "MyAccount as sysdba",