JDBC Treiber

Status
Nicht offen für weitere Antworten.

märliprinz

Mitglied
Kann mir jemand sagen welche Datenbank und welcher JDBC-Treiber das Blättern (mit Blättern meine ich: Cursor rauf, runter oder, eine bzw. mehrere beliebige/n Zeile/n anzeigt) unterstützt? :roll:
 

Dukel

Top Contributor
märliprinz hat gesagt.:
Kann mir jemand sagen welche Datenbank und welcher JDBC-Treiber das Blättern (mit Blättern meine ich: Cursor rauf, runter oder, eine bzw. mehrere beliebige/n Zeile/n anzeigt) unterstützt? :roll:

Im Programm blättern oder in der Datenbank?
Ich glaube das Blättern musst du selber Implementieren.
 

märliprinz

Mitglied
märliprinz hat gesagt.:
Im Programm blättern oder in der Datenbank?

In der Datenbank... aber auch im Programm. :bahnhof:

Aber meine Frage war, ob es einen JDBC-Treiber dafür gibt und welche DB diese Funktionen (Rauf, Runter und Auswahl) unterstützt.
 

märliprinz

Mitglied
Also ich habe diese Aufgabe nun gelöst. mit den meisten neuen Versionen des JDBC Treiber, ist das insensitiv-scrolling möglich. doch bei einer Million Datensätze geht es ca. eine halbe minute um diese anzuzeigen.... was ja nicht gerade super ist.
 

märliprinz

Mitglied
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);
			
			//Variabeln die benötigt werden um die RAM benutzung so wie auch die Zeit zu messen.
			long startTime = System.currentTimeMillis();
			long memFreeVorher = Runtime.getRuntime().freeMemory();
			long memFreeMax = Runtime.getRuntime().maxMemory();
			long memFreeTotal = Runtime.getRuntime().totalMemory();
						
			Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
				     ResultSet.CONCUR_READ_ONLY);
			ResultSet srs = stmt.executeQuery("SELECT * FROM tbl_person");
			
			/*srs.first();
			while (srs.next()) {
				String name = srs.getString("name");
				System.out.println("name = "+name);
			}*/

		//	int[] rows = {""};
		//	for(int i=0;i<rows.length;i++){
			for(int i=1;i<=1000000;i++){
				if(srs.absolute(i)){
					String name = srs.getString("name");
					String vorname = srs.getString("vorname");
					String adresse = srs.getString("adresse");
					System.out.println("Datensatz " +i +": " +name +" " +vorname +" " +adresse);
				}else{
					System.out.println("Datensatz nicht vorhanden!");
				}
			}

			srs.close();
			stmt.close();
			
			long memFreeNachher = Runtime.getRuntime().freeMemory();
			long endTime = System.currentTimeMillis();
			
			System.out.println("habe " + (endTime-startTime) + "[ms] Zeit verbraucht");
			System.out.println("------------------------------------------");
			System.out.println("Freier Speicher vorher " + (memFreeMax/1024/1024) + ", freier Speicher nachher " + (memFreeNachher/1024/1024));
			System.out.println(memFreeMax/1024/1024);
			System.out.println(memFreeTotal/1024/1024);
			
			/*	System.out.println("Statement beginnen"); 
			Statement stmt = conn.createStatement(); 
			System.out.println("Abfrage beginnen"); 
			String sqlCommand = "SELECT * FROM tbl_person ORDER BY name ASC"; 
			//"SELECT * FROM tbl_person WHERE id<=5 ORDER BY name ASC"; 
			ResultSet rs = stmt.executeQuery(sqlCommand); 
			System.out.println("* Ergebnisse anzeigen"); 
			
			while (rs.next()) { 
				int id = rs.getInt(1); 
				String name = rs.getString("name"); 
				String vorname = rs.getString(3); 
				System.out.println( id+" "+name+" "+vorname ); 
			} 

			System.out.println("* Statement beenden"); 
			stmt.close();
		*/
			//Hier wird die Verbindung zur 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(); 
		}
	}  
}
 

Bleiglanz

Gesperrter Benutzer
LOL

du kannst doch nicht im ernst eine Million Datensätze auf die Konsole ausgeben, die ist nun mal langsam :)

und warum nimmst du ein scrollable resultset wenn du dann for(int i=1;i<=1000000;i++){ machst?
 

märliprinz

Mitglied
weil ich es anders nicht kann :roll:

der chef wollte dies so haben, keine ahnung weshalb er 1000000 Datensätze auslesen möchte.... :bahnhof:
 

Bleiglanz

Gesperrter Benutzer
a) wenn du nur "vorwärts gehts", dann nimm ein FORWARD_ONLY und marschiere mit rs.next() durch

b) schreibs mal in ein File, sollte schneller sein als die Ausgabe auf Konsole...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Screen Ich suche eine SQLDatenbank ohne JDBC-Treiber Datenbankprogrammierung 12
M JDBC/ODBC Treiber-Einbindung Datenbankprogrammierung 5
S Oracle JDBC Treiber Problem Datenbankprogrammierung 4
H Konnte den Treiber com.mysql.jdbc.Driver nicht laden. Datenbankprogrammierung 19
R Eclipse findet JDBC Treiber nicht Datenbankprogrammierung 2
A Andere Möglichkeit als JDBC Treiber für den Datenbankzugriff Datenbankprogrammierung 3
G Probleme mit Laden des JDBC-Treiber in HSQLDB Datenbankprogrammierung 2
B Laden eines JDBC Treiber. Datenbankprogrammierung 7
G Verwendung neuen Treiber für JDBC-Zugriff auf OracleDB Datenbankprogrammierung 5
N mysql.jdbc treiber wird nicht gefunden Datenbankprogrammierung 2
N MySQL Treiber via JDBC in Tomcat Servlet Datenbankprogrammierung 3
J Problem mit dem JDBC Treiber Datenbankprogrammierung 5
V JDBC Treiber laden Datenbankprogrammierung 2
L Java 1.5.0_04 & Oracle 9.2.0.6: JDBC Treiber? Datenbankprogrammierung 10
R MS ACCESS freier JDBC Treiber Datenbankprogrammierung 4
G JDBC- Treiber installieren Datenbankprogrammierung 3
S jdbc treiber problem Datenbankprogrammierung 12
G JDBC-Treiber-Fehlermeldung Datenbankprogrammierung 4
H JDBC-Treiber wird nicht geladen Datenbankprogrammierung 2
F Problem mit Oracle-JDBC-Treiber Datenbankprogrammierung 5
F Suche JDBC-Treiber-Installationsanleitung (SUSE Linux) Datenbankprogrammierung 18
2 problem mit jdbc treiber Datenbankprogrammierung 4
G JDBC Treiber für dBase Datenbank? Datenbankprogrammierung 3
G Kein Geschenk, der JDBC-Treiber ! Datenbankprogrammierung 30
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
B JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10

Ähnliche Java Themen

Neue Themen


Oben