Hallo liebe Forengemeinde,
ich habe ein kleines Programm geschrieben. Mit folgender Methode lasse ich den Anwender sich an der Datenbank anmelden:
Für die Anwendung muss ich noch ein paar Daten aus der Datenbank laden, die der Anwender angezeigt bekommt:
Die Anwendung lief jetzt 1 Jahr beim Kunden ohne Probleme. Im Hintergrund läuft eine H2-Datenbank, die auf einem W2000 SP4-Server installiert ist. Der H2-Server ist so eingestellt, dass es erlaubt ist, dass sich mehrere Leute gleichzeitig an der Datenbank anmelden können. Die H2-Datenbank ist auf einem Windows 2000 Server mit SP4 installiert. Der Fehler tritt dann auf, wenn 5 Computer sich gleichzeitig anmelden. Beim 6. Computer tritt dieser Fehler auf - ohne dass was an der Anwendung weiter gemacht wird.
Woran könnte das liegen?
ich habe ein kleines Programm geschrieben. Mit folgender Methode lasse ich den Anwender sich an der Datenbank anmelden:
Java:
public static void anmelden(String angemeldeter_User, String pwd)
{
try
{
lesen();
Class.forName("org.h2.Driver"); // Treiber laden
String connection_string = "jdbc:h2:tcp://" + ergebnis[0] + "/test"; /** In connection_string wird der String für die Connection gespeichert**/
connection = DriverManager.getConnection(connection_string, angemeldeter_User, pwd);
boolean angemeldet = true; /** in angemeldet wird gespeichert, ob angemeldet wurde (true) oder nicht (false)**/
Update.updateAnwender(angemeldet, angemeldeter_User); // Anwender in Tabelle "Anwender" anmelden
DatenLaden(); // entsprechende Daten laden
if(angemeldeter_User.equals("sa"))
{
JOptionPane.showMessageDialog(null, copyright, "Copyright", JOptionPane.INFORMATION_MESSAGE);
StartFrame frm = new StartFrame("Artikel-Bestellung); /**frm stellt das Objekt StartFrame (das Fenster) dar**/
frm.setVisible(true);
frm.setResizable(false); // verhindern, dass der Anwender die Größe des Fensters verändert
frm.setExtendedState(JFrame.MAXIMIZED_BOTH); // auf Vollbildschirm schalten
frm.pack();
DatenLaden(); // Daten laden
stammdatenbearbeiten_deaktivieren();
}
else
{
JOptionPane.showMessageDialog(null, copyright, "Copyright", JOptionPane.INFORMATION_MESSAGE);
Fragebogen frm = new Fragebogen("Artikel");
frm.setVisible(true);
frm.setResizable(false); // verhindern, dass der Anwender die Größe des Fensters verändert
frm.setExtendedState(JFrame.MAXIMIZED_BOTH); // auf Vollbildschirm schalten
frm.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // verhindern, dass die Basisdokumentation über Abbruch (X) geschlossen wird
frm.pack();
Fragebogen.doku_deaktivieren();
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Sie haben ein falsches Passwort eingegeben " + e,
"DB-Meldung", JOptionPane.ERROR_MESSAGE);
Login log = new Login("DB-Anmeldung");
log.setVisible(true);
log.setSize(50,50);
log.setLocation(300, 300);
log.pack();
}
}
Für die Anwendung muss ich noch ein paar Daten aus der Datenbank laden, die der Anwender angezeigt bekommt:
Java:
private static void DatenLaden()
{
try
{
lese = "Select * from artikel ORDER BY artikel_nummer DESC";
stmt = connection.createStatement();
result = stmt.executeQuery(lese.toString());
lese_dokumentation = "Select * from bestellung ORDER BY bestell_nummer DESC";
stmt1 = connection.createStatement();
result_dokumentation = stmt1.executeQuery(lese_dokumentation.toString());
}
catch(SQLException a)
{
JOptionPane.showMessageDialog(null, "Es ist folgender Fehler aufgetreten: " + a,
"DB-Meldung", JOptionPane.ERROR_MESSAGE);
}
}
Die Anwendung lief jetzt 1 Jahr beim Kunden ohne Probleme. Im Hintergrund läuft eine H2-Datenbank, die auf einem W2000 SP4-Server installiert ist. Der H2-Server ist so eingestellt, dass es erlaubt ist, dass sich mehrere Leute gleichzeitig an der Datenbank anmelden können. Die H2-Datenbank ist auf einem Windows 2000 Server mit SP4 installiert. Der Fehler tritt dann auf, wenn 5 Computer sich gleichzeitig anmelden. Beim 6. Computer tritt dieser Fehler auf - ohne dass was an der Anwendung weiter gemacht wird.
Woran könnte das liegen?