Problem bei MySQL Connect über JavaBean

Status
Nicht offen für weitere Antworten.

tenderman

Mitglied
Hallo zusammen,

versuche über JSP mit einer Bean eine MySQL DB zu connectieren. Conect klappt auch (denk ich), aber es kommt immer zu einer JavaNullPointerExeption wenn der Tabellename meiner Datenbank klein geschrieben ist, wenn ich den Namen der Tabelle groß schreibe funktioniert das Bean?! Problem ist, das ich mit mehreren JSPs auf die DB zugreife u der Name nun mal klein sein muss. Woran kann das liegen

Hier das Bean:

Code:
package DB; 
public class DBZugriff 
{ 
private java.sql.Connection dieVerbindung; 

public DBZugriff() 
{ 
try 
{ 
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
dieVerbindung = java.sql.DriverManager.getConnection( 
"jdbc:mysql://localhost/dbbenutzer","root","root"); 
} 
catch(ClassNotFoundException e1){} 
catch(InstantiationException e2){} 
catch(java.sql.SQLException e3) 
{ 
System.out.println("SQLException: " + e3.getMessage()); 
} 
catch(IllegalAccessException e4){} 
} 

public java.sql.ResultSet leseDB() 
{ 
java.sql.Statement statement; 
java.sql.ResultSet tabelle; //Wird als Ergebnis übergeben 
try 
{ 

statement = dieVerbindung.createStatement(); 
tabelle = statement.executeQuery("SELECT * FROM BENUTZER"); 
return tabelle; 
} 
catch(java.sql.SQLException e3) 
{System.out.println("SQLException: " + e3.getMessage()); 
} 
return null; 
}

Laut Log-Dat vom Tomcat exetiert die Tabelle dbbenutzer.benutzer nicht.
Wenn ich einen schreibenden Zugriff auf die Datenbank über das Bean probiere, ist das Problem ähnlich. Nur wenn der Tabellenname GROSS geschrieben ist, er die Tabelle BENUTZER nicht kennt und wenn ich den Namen klein schreibe kennte er die Tabelle auch nicht. Wenn die Tabelle mit GROSSEN und kleinen Namen exestiert kommt es zur Fehlermeldung: Duplcate entry 1 for key 1?! Woran kann das liegen
Schon mal danke

MfG Tenderman
 

AlArenal

Top Contributor
Tabellennamen in MySQL sind systemabhängig case-sensitiv oder eben nicht. Läuft die DB auf Windows ist es schnurz, läuft sie auf einem Unix, musst du sie in den Statements so schreiben, wie du sie angelegt hast, da MySQL für jede DB ein Verzeichnis anlegt und darin für jede Tabelle eine Datei, die gleich heißt wie die Tabelle. Und unter Unix ist "tabelle.frm" und "Tabelle.frm" nunmal nicht dasselbe...

PS:
Warum müssen deine Beans den Tabellennamen unbedingt klein schreiben? *amkopfkratz*
Groß-/Kleinschreibung machte in C schon vor Jahrzehnten dank Kerninghan und Ritchie keine Probleme mehr...
 

tenderman

Mitglied
Die Beans müssen den Tabellennamen nicht unbedingt klein schreiben. Der Tabellenname sollte klein sein, weil auch anderen JSPs auf diese DB zugreifen sollen, wäre aber auch net so wild, wenn ich das ändern müsste... hauptsache es würde überhaupt gehen.
Das Problem ist, dass auch wenn alles Groß geschrieben ist (Tabellennamen in der DB und Abfragen in der Bean) es bei einem Datenbank eintrag auch zu der Fehlermeldung kommt. D.h: es steht dann in der Log-Dat des Servers: kann Tabelle dbbenutzer.benutzer nicht finden. Wenn ich den Tabellennamen dann klein schreibe kommt dann halt die Meldung: kann dbbenutzer.BENUZTER nicht finden!

Hier mal das komplette Bean:

Code:
package DB;
public class DBZugriff
{
 private java.sql.Connection dieVerbindung;
	// Konstruktor
 public DBZugriff()
 {
    try
    {
    Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    dieVerbindung = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/dbbenutzer","root","root");
  }
  catch(ClassNotFoundException e1)
                {
                     System.out.println("ClassNotFoundException: " + e1.getMessage());
                }
  catch(InstantiationException e2)
                {
                     System.out.println("InstantiationException: " + e2.getMessage());
                   }
  catch(java.sql.SQLException e3)
	 {
	    System.out.println("SQLException: " + e3.getMessage());
	 }
  catch(IllegalAccessException e4)
                {
                     System.out.println("IllegalAccessException: " + e4.getMessage());
                 } 
	}
 //Lesende Operation
 public java.sql.ResultSet leseDB() 
 {
  java.sql.Statement statement;
  java.sql.ResultSet tabelle;   try
  {
    statement = dieVerbindung.createStatement();
    tabelle = statement.executeQuery("SELECT * FROM BENUTZER");
        // das Select funktioniert, wenn der TabName GROSS ist
    return tabelle;
  }
  catch(java.sql.SQLException e3)
	 {System.out.println("SQLException: " + e3.getMessage());
	 }
  return null;
	 }

 //Schreibende Operation
public synchronized void schreibeDB(String pseudonym, String passwort)
    {
    String benutzernrString = "Leer";
    int benutzernr = 0;
    java.sql.Statement statement = null;
    java.sql.ResultSet tabelle = null;
    try
    {
      statement =  dieVerbindung.createStatement();
      tabelle = statement.executeQuery("SELECT MAX(BENUTZERNR) FROM BENUTZER");
      tabelle.next(); 
      benutzernr = tabelle.getInt(1); 
      benutzernr++; 
      benutzernrString = Integer.toString(benutzernr);
      String insert = "INSERT INTO BENUZTER (BENUTZERNR, PSEUDONYM, PASSWORT)";
      String values = "VALUES('" + benutzernrString + "','" + pseudonym + "','" + passwort + "')";
      statement.executeUpdate(insert + values);
	    
    }
    catch(java.sql.SQLException e3)
	   {System.out.println("SQLException: " + e3.getMessage());
	   }
		finally
		{
	                try
                                 {
                                  tabelle.close();//Freigabe der Ressourcen
	                  statement.close();//Freigabe der Ressourcen
                                  }
                  catch(java.sql.SQLException e3)
	       {System.out.println("SQLException: " + e3.getMessage());
	       }
	}
   }
}
 

AlArenal

Top Contributor
D.h: es steht dann in der Log-Dat des Servers: kann Tabelle dbbenutzer.benutzer nicht finden. Wenn ich den Tabellennamen dann klein schreibe kommt dann halt die Meldung: kann dbbenutzer.BENUZTER nicht finden!

Wenn du es zweimal klein schreibst bekommste eben zweimal denselben Fehler, wenn es falsch ist.

Mein letzter Post enthielt schon den Lösungsweg. Mehr kann ich nicht tun.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
B MySQL Problem mit Datenbankanbindung an MySQL Datenbankprogrammierung 2
L Excel in MySQL importieren Problem Datenbankprogrammierung 5
K Hibernate + MySQL Problem... Datenbankprogrammierung 2
I MySQL MySQL – Proxy Problem Datenbankprogrammierung 4
G MySQL Connection Problem Datenbankprogrammierung 3
F MySQL - Connection JDBC-Driver Problem Datenbankprogrammierung 4
F eigenartiges Java/mysql problem Datenbankprogrammierung 9
S problem mit mysql ausgabe. Datenbankprogrammierung 3
G Problem beim Schreiben eines Dateipfads in MySQL-DB Datenbankprogrammierung 9
S Problem bei MySql abfrage Datenbankprogrammierung 11
M Problem mit MYSQL Verbindung Datenbankprogrammierung 7
N Problem mit Verbindung zu externer MySQL Datenbank Datenbankprogrammierung 8
U Java und Mysql Problem über 24:00:00 Stunden Datenbankprogrammierung 4
M Problem: Große Datei in MySQL DB importieren. Datenbankprogrammierung 12
R Problem mit Autocommit (MySQL) Datenbankprogrammierung 4
N Problem mit executeQuery in mysql Datenbankprogrammierung 9
D problem mit mysql übers netz. Datenbankprogrammierung 5
S Problem bei Eingabe von Dateipfad in eine MySQL-Datenbank Datenbankprogrammierung 4
T problem mit mysql connection Datenbankprogrammierung 6
R Problem mit MySQL-Abfrage Datenbankprogrammierung 36
G MySQL: Login-Problem: No suitable Driver Datenbankprogrammierung 13
F Problem mit MySQL-Datenbank und Java-Applet Datenbankprogrammierung 2
M [MYSQL] Problem mit Connection und Abfrage Datenbankprogrammierung 6
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
C Problem mit Apache Poi Datenbankprogrammierung 6
N HSQLDB Problem mit Eclipselink in runnable Jar Datenbankprogrammierung 10
P GroupLayout-Problem Datenbankprogrammierung 12
F XAMPP max connections problem Datenbankprogrammierung 6
C MySQL Problem in phpMyAdmin Oberfläche Datenbankprogrammierung 5
C Problem with INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
C Problem with insertion in database. Datenbankprogrammierung 7
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
A kleines Problem Datenbankprogrammierung 6
T Problem mit Datenbankverbindung Datenbankprogrammierung 22
V Derby/JavaDB updateRow Problem Datenbankprogrammierung 0
Nuiton EmbeddedDriver Problem Datenbankprogrammierung 6
A MongoDB Passwort Problem Datenbankprogrammierung 0
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
F MySQL JDBC Problem Datenbankprogrammierung 5
Anfänger2011 Datenbankstruktur/aufbau (theoretisches Problem) Datenbankprogrammierung 5
M Derby/JavaDB Drop Database problem Datenbankprogrammierung 3
M Derby/JavaDB NOT LIKE problem Datenbankprogrammierung 19
N HSQLDB Problem mit EntityManager Datenbankprogrammierung 7
B MySQL JPAContainer Problem Datenbankprogrammierung 4
K Eclipse Apache Derby Treiber Problem Datenbankprogrammierung 4
C Problem oder Denkfehler mit H2-Database Datenbankprogrammierung 3
E Wie kann man das Problem mit der BLOB-Spalte lösen? Datenbankprogrammierung 1
M Problem mit jcouchdb und CouchDB - UTF8 kein gültiger Zeichentyp Datenbankprogrammierung 4
T MySQL Problem mit Datenbankanbindung Datenbankprogrammierung 4
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
P SQL Query Problem Datenbankprogrammierung 14
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
B SQLite Problem bei Planung der Datenbank [Jeopardy] Datenbankprogrammierung 3
A Problem mit dem Import und Export von Bildern Datenbankprogrammierung 4
P Oracle Problem mit Umlauten Datenbankprogrammierung 9
A Problem mit Create-Statement Datenbankprogrammierung 9
D Problem mit COLUMN_IDENTIFIERS Datenbankprogrammierung 8
M Problem mit mehreren Datasourcen Datenbankprogrammierung 3
R Resultset.last() Problem Datenbankprogrammierung 12
M Problem GroupBy Datenbankprogrammierung 3
S CURRENT_DATE problem Datenbankprogrammierung 2
M Problem mt JPA Id-Generators Datenbankprogrammierung 18
Gossi Oracle Problem mit group by... Datenbankprogrammierung 22
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
R MS-SQL Express Login-Problem Datenbankprogrammierung 8
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
N HSQLDB Problem beim Treiberladen im Jar Datenbankprogrammierung 6
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
M Problem mit HQL Syntax Datenbankprogrammierung 5
K Db4o Delete Problem Datenbankprogrammierung 11
Mike90 Deadlock/Lock Problem Datenbankprogrammierung 4
T Access 32bit on Win7 64Bit ODBC Problem Datenbankprogrammierung 1
C unverständliches DB Problem (Es ist kein temporärer Systemtabellenbereich mit einer ausreichenden..) Datenbankprogrammierung 5
S ODBC Treiber Problem/oder unvermögen Datenbankprogrammierung 18
J Problem bei Boolean in PreparedStatement Datenbankprogrammierung 5
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
K Problem mit Datenbankverbindung via Eclipse Datenbankprogrammierung 2
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
S Oracle Problem mit PreparedStatement.setString(1,"str") Datenbankprogrammierung 10
N Problem bei Erstellung eines Index Datenbankprogrammierung 12
C Hibernate Property-Problem Datenbankprogrammierung 5
J MyBatis - Update Problem Datenbankprogrammierung 4
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
c_sidi90 Hibernate Problem Table doesnt excist Datenbankprogrammierung 8
M Problem mit JPA - OneToMany-Relation Datenbankprogrammierung 3
I Hibernate: Composite Foreign Key Problem Datenbankprogrammierung 14
S JPA OptimisticLocking Problem Datenbankprogrammierung 11
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
JavaKaffee Derby/JavaDB Quartz-WebAnwendung - Connection/Treiber Problem Datenbankprogrammierung 47
I Problem mit ResultSet Datenbankprogrammierung 2
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
R MS Access mit Java Problem mit Update Statment Datenbankprogrammierung 13
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben