Jump to content
Wikibooks The Free Textbook Project

Java Programming/Database Programming

From Wikibooks, open books for an open world
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 databases

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.

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

Connecting to MySQL

try{
Class.forName("com.mysql.jdbc.Driver");
Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost/MySite?user=MyAccount&password=MyPassword");
conn.close();
}catch(SQLExceptione){e.printStackTrace();}

Connecting to Oracle Database

This script returns the database size:

importjava.sql.*;
importjava.io.*;
importoracle.jdbc.*;
importoracle.sql.*;
publicclass OracleDatabase{
publicstaticvoidmain(String[]args){
try{
DriverManager.registerDriver(neworacle.jdbc.OracleDriver());
Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:MyDatabase","MyAccount","MyPassword");
conn.setAutoCommit(true);
Stringsql="SELECT sum(bytes) from dba_segments;";
Statementstmt=conn.createStatement();
stmt.execute(sql);
stmt.close();
conn.close();
}catch(SQLExceptione){e.printStackTrace();}
}
}

Connecting to PostgreSQL

try{
Class.forName("org.postgresql.Driver");
Connectionconn=DriverManager.getConnection("jdbc:postgresql:MyDatabase","MyAccount","MyPassword");
conn.close();
}catch(SQLExceptione){e.printStackTrace();}

Known errors

package oracle.jdbc does not exist

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

  • C:\oracle12\app\oracle\product12円.1.0\dbhome_1\jdbc\lib\ojdbc7.jar
  • C:\oracle12\app\oracle\product12円.1.0\dbhome_1\sqlj\lib\runtime12.jar

Otherwise, ojdbc7.jar can be downloaded from http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html, and add it to the compilation. Eg:

javac MyClass.java -classpath ojdbc7.jar

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

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

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

References

AltStyle によって変換されたページ (->オリジナル) /