tinella
Erfahrenes Mitglied
hi hallo
ich hab ein programm programmiert, welches aus zwei datenbanken daten herausfiltert, um diese danach formatiert in ein externes file zu speichern.
ich wäre damit fertig, doch am ende des programms gibts mir noch ne fehlermeldung aus (ich hab das so programmiert dass wenn die verbinung nicht gemacht werden kann das programm mir das zurückgibt).
komisch daran ist, dass ich nachheinander auf zwei datenbanken zugreiffe, die fehlermeldung mir aber nur für die eine (APV_DB) datenbank ausgibt! die meldung kommt erst am schluss, vorher funktioniert das ganze super.
ich habe das programm so aufgebaut, dass es mir für jeden datensatz welchen ich herausfilter eine neue verbinung aufmacht. (ja könnte besser sein ich weiss nur lasst bitte das jetzt mal das ist nicht das eigentliche problem..) nur macht das programm jetzt halt etwa 800 oder mehr verbindungen auf.
- könnte es sein, dass es eine maximale anzahl gibt der zu öffnenden datenbankverbindungen und mir deshalb einen fehler ausgibt?
- hat jemand ne idee an was das sonst noch so liegen könnte?
könnte sich das bitte jmd. mal angucken?
danke.
tinella
ich hab ein programm programmiert, welches aus zwei datenbanken daten herausfiltert, um diese danach formatiert in ein externes file zu speichern.
ich wäre damit fertig, doch am ende des programms gibts mir noch ne fehlermeldung aus (ich hab das so programmiert dass wenn die verbinung nicht gemacht werden kann das programm mir das zurückgibt).
komisch daran ist, dass ich nachheinander auf zwei datenbanken zugreiffe, die fehlermeldung mir aber nur für die eine (APV_DB) datenbank ausgibt! die meldung kommt erst am schluss, vorher funktioniert das ganze super.
ich habe das programm so aufgebaut, dass es mir für jeden datensatz welchen ich herausfilter eine neue verbinung aufmacht. (ja könnte besser sein ich weiss nur lasst bitte das jetzt mal das ist nicht das eigentliche problem..) nur macht das programm jetzt halt etwa 800 oder mehr verbindungen auf.
Code:
// Collect the readed out datas from the two databases.
public class APVCollectorData implements Persistence {
// Initialize a list for datas called "apv_nr".
List apvCollection = null;
// Query (both databases) for readout only the apv_nr.
private static final String ApQuery = "SELECT APV_NR FROM Attribut ORDER BY APV_NR";
// Printinfo about statuf of loading.
public static final void printInfo() {
System.out.println("Loading...\n");
}
// Empty conctructor.
public APVCollectorData() {
}
public void load() {
// APV&ADD: Driver-Initialisation.
String apv = "jdbc:odbc:APV";
String add = "jdbc:odbc:ADD";
// New Vector for datas bezD, bezF and bezI.
apvCollection = new Vector();
// Invoke conn() method from dbhandler.
DBHandler.conn();
// Connect-variables for databases.
Statement command = null;
Connection apvConn = null;
Connection addConn = null;
// Make connection to database for filter datas.
try {
apvConn = DriverManager.getConnection(apv); command = apvConn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// Invoke query for filter apvNr.
ResultSet resultSet = command.executeQuery(ApQuery);
// Add data to the first place on resultSet.
resultSet.beforeFirst();
// Take datas from database into resultSet.
while (resultSet.next()) {
Integer value = new Integer(resultSet.getInt("APV_NR"));
//ERR: APVCollection apvData = new APVData(value.toString());
APVData apvData = new APVData(value.toString());
apvCollection.add(apvData);
}
//System.out.println("Connect to the database 'ACC-DB66-8.mdb' sucessfully done.");
// Connection close.
apvConn.close();
} catch (SQLException sqle) {
System.err.println("Access to " + apv + " is denied. \n");
}
// Invoke conn() method from dbhandler.
DBHandler.conn();
try {
addConn = DriverManager.getConnection(add);
command = addConn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// Invoke query for filter apvNr.
ResultSet resultSet = command.executeQuery(ApQuery);
// Add data to the first place on resultSet.
resultSet.beforeFirst();
// Take datas from database into resultSet.
while (resultSet.next()) {
String result = resultSet.getString("APV_NR");
//APVCollection apvData = new APVData(result);
APVData apvData = new APVData(result);
apvCollection.add(apvData);
}
//System.out.println("Connect to the database 'Additional.mdb' sucessfully done.");
// Connection close.
addConn.close();
} catch (SQLException sqle) {
System.err.println("Access to " + add + " is denied. \n");
}
//message: connection to the database closed!
printInfo();
}
public List getAPVList() {
return apvCollection;
}
public void setAPVList(List list) {
apvCollection = list;
}
}
- könnte es sein, dass es eine maximale anzahl gibt der zu öffnenden datenbankverbindungen und mir deshalb einen fehler ausgibt?
- hat jemand ne idee an was das sonst noch so liegen könnte?
könnte sich das bitte jmd. mal angucken?
danke.
tinella