Code:
import java.sql.*;
public class ConnectionTest {
public static void main(String[] args) {
//Verbindungsaufbau Einträge die benötigt werden,
//um mit einer Datenbank zu verbinden.
final String hostname = "localhost";
final String port = "8086";
final String dbname = "cursor_test";
final String user = "root";
final String password = "";
Connection conn = null;
//Hier wird der Treiber geladen.
try {
System.out.println("Treiber laden");
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
}
//Wenn der Treiber nicht geladen werden konnte, wird eine Exception ausgegeben.
catch (Exception e) {
System.err.println("Treiber laden fehlgeschlagen!");
e.printStackTrace();
}
//Hier wird mit der Datenbank connectet.
try {
System.out.println("Verbindung aufbauen");
String url = "jdbc:mysql://"+hostname+":"+port+"/"+dbname;
conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet srs = stmt.executeQuery("SELECT * FROM tbl_person ORDER BY id");
int[] rows = {1, 2, 3, 4, 5, 6, 7, 9093, 34040};
for(int i=0;i<rows.length;i++){
if(srs.absolute(rows[i])){
String name = srs.getString("name");
String vorname = srs.getString("vorname");
String adresse = srs.getString("adresse");
System.out.println("Datensatz " +rows[i] +": " +name +" " +vorname +" " +adresse);
}else{
System.out.println("Datensatz nicht vorhanden!");
}
}
srs.close();
stmt.close();
//Hier wird die Verbindung mit der DB beendet.
System.out.println("Verbindung beenden");
conn.close();
}
//Hier werden falls etwas schief geht die Fehlermeldungen ausgegeben.
catch (SQLException sqle) {
System.out.println("SQLException: " + sqle.getMessage());
System.out.println("SQLState: " + sqle.getSQLState());
System.out.println("VendorError: " + sqle.getErrorCode());
sqle.printStackTrace();
}
}
}
Wenn ich dieses Programm laufen lasse, bekomme ich diese Fehlermeldung:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Ich benutze eine MySQL Datenbank und diesen JDBC Treiber: mysql-connector-java-3.1.11