Fehler in Datenbankanbindung Servlet -> Access

Status
Nicht offen für weitere Antworten.
R

Rolf

Gast
Hi,
ich habe eine DB unter Access angelegt (EU). Dort ist eine Tabelle wormholes drin, mit ID, Bezeichnung, Eingang, Ausgang.

Habe diese unter Systemsteuerung->Verwaltung->ODBC auch eingebunden.

Wenn ich eine normale Klasse mit main-methode schreibe funktioniert das auch. Jedoch bei der Einbindung in nem Servlet gibs Probleme.

Fehlermeldung:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben

Quellcode:

Wurmloch Klasse (Ausschnitte)
Code:
public Wurmloch(String id, String name, String eingang, String ausgang)
    {
        this.id = id;
        this.name = name;
        this.eingang = eingang;
        this.ausgang = ausgang;
    }

...

Connection con;
Statement st;
ResultSet rs;

...

public void add()
    {
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        }
        catch(ClassNotFoundException e)
        {
            notFoundException = true;
            notFoundExplanation = e;
        }
        try
        {
            con = DriverManager.getConnection("jdbc:odbc:EU");
            st = con.createStatement();
            st.executeUpdate("INSERT INTO wormholes VALUES ('"+id+"','"+name+"','"+eingang+"','"+ausgang+"')");
            st.close();
            con.close();
        }
        catch(SQLException e)
        {
            sqlexception = e;
        }
    }

Servlet

Code:
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException 
    {
            PrintWriter out = response.getWriter();
            
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("Eingetragenes Wurmloch:
");
            
            Wurmloch a = new Wurmloch("6","6.tes","6","7");
            
            out.println(a.id+"
");
            out.println(a.name+"
");
            out.println(a.eingang+"
");
            out.println(a.ausgang+"
");
            
            a.add();
            
            if (a.notFoundException) out.println("ClassNotFound: "+a.notFoundExplanation);
            out.println("SQLEXCEPTION IN ADD: "+a.sqlexception); <--- HIER der Fehler
            out.println("</body>");
            out.println("</html>");
            
            out.close();
        
    }
    
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
   
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

Die Fehlermeldung an sich ist ja eindeutig.
Muss in das Tomcat Verzeichnis der Treiber für ODBC reingemacht werden? Wenn ja welcher wäre das und woher bekomme ich den?
Und warum findet er die Datenquelle nicht, obwohl sie bei ner normalen main method class gefunden wird, nur beim servlet nicht?
 

SamHotte

Top Contributor
Bin mir nicht ganz sicher mit Servlets, aber müssen die Datenquellen da nicht in irgend so einem XML-Konfigurationsfile angegeben sein? Sowas wie der Deployment Descriptor?
Bei 'ner normalen Java-Anwendung (=Klasse mit main()-Methode) sucht die lokale VM den richtigen Treiber, bei einem Servlet muss man das dem Tomcat irgendwie sagen.
 

Bleiglanz

Gesperrter Benutzer
Systemsteuerung->Verwaltung->ODBC

hast du sie als System DSN eingetragen? User DSN funzt normalerweise nicht!

und

läuft die Webanwendung auf dem gleichen Rechner?
 
G

Guest

Gast
ja die webandwendung läuft auf dem gleichen Rechner.

Ich hatte es als user-dns.
Hab dann jetzt mal das bei system-dns auch noch eingetragen.

Jetzt is die Fehlermeldung schon mal anders 0_o

-->> java.sql.SQLException: General error

Mit der web.xml denk ich mal läuft nix schief.

web.xml

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
  <servlet>
    <servlet-name>Wormhole</servlet-name>
    <servlet-class>Wormhole</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Wormhole</servlet-name>
    <url-pattern>/Wormhole</url-pattern>
  </servlet-mapping>
  
</web-app>

im webapps verzeichnis von tomcat hab ich ein Verzeichnis eu

Servlet ist zu erreichen über -> http://localhost:8080/eu/Wormhole

gesamte Servlet Ausgabe im Browser:
Code:
Eingetragenes Wurmloch:
6
6.tes
6
7
SQLEXCEPTION IN ADD: java.sql.SQLException: General error
 

SamHotte

Top Contributor
Der General Error kommt mitunter (bei Access), wenn du den Index bereits eingefügt hast (in deinem Fall evtl. die ID) - schau mal nach, ob der Datensatz schon existiert.
Darüber hinaus solltest du evtl. gleich in der Wurmloch-Klasse beim Statement.executeUpdate(..) den Rückgabewert auswerten - das ist bei einem INSERT die Anzahl der eingefügten Datensätze.
 
R

Rolf

Gast
Ich habe nochmal die Datenbank aus der Verwaltung geschmissen.

Rechner neu gestartet und dann nochmal getestet und jetzt funktioniert es.

Habe dann nochmal das servlet jeweils mit der Datenbank in USER-DSN und System-DSN ausgeführt und tatsächlich,
bei USER-DSN findet er es nicht - unter obiger Fehlermeldung - und bei System-DSN geht das in die Tabelle eintragen einwandfrei.

Danke für die Hilfe :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
S @OneToMany @JoinTable failed to lazily initialize a collection Fehler Datenbankprogrammierung 2
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
das_leon MySQL Fehler bei der Zeitzone Datenbankprogrammierung 7
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
L SQL Fehler (Table/View does not exist) Datenbankprogrammierung 17
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
W Jackcess Fehler Datenbankprogrammierung 1
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
M Wo ist mein Fehler ? o: Datenbankprogrammierung 4
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
T JDBC Fehler Datenbankprogrammierung 2
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B JDBC Connection Fehler Datenbankprogrammierung 8
J Fehler bei mySQL Query Datenbankprogrammierung 19
D Oracle PLSQL Block Fehler Datenbankprogrammierung 11
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
S Fehler mit JdbcRowSet Datenbankprogrammierung 2
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
M PL/SQL Fehler "Kein Wert zurückgegeben" Datenbankprogrammierung 4
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
N Oracle Fehler Ungültiges Zeichen Datenbankprogrammierung 2
jgh Zeichensatz-Fehler Datenbankprogrammierung 10
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E Fehler- Komme nicht auf Datenbank Datenbankprogrammierung 13
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
trash JDBC Einbinden Fehler Datenbankprogrammierung 9
B Fehler in Stored Procedure Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
B SQL - Ich kann die Fehler nicht finden Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Update mysql Fehler ?? Datenbankprogrammierung 4
T Fehler im SQL ... Datenbankprogrammierung 8
J Fehler bei Hibernate Configuration Datenbankprogrammierung 9
N group by fehler Datenbankprogrammierung 4
P SQL Fehler helft mir bitte Datenbankprogrammierung 12
F Fehler bei Stored Function Datenbankprogrammierung 2
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
C Wo ist der Fehler? Datenbankprogrammierung 5
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Fehler bei Rückgabewerten Datenbankprogrammierung 3
M Statemend Fehler Datenbankprogrammierung 11
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
E Seltsamer Fehler Datenbankprogrammierung 10
T Fehler bei Verbindungsaufbau zu MySql DB Datenbankprogrammierung 4
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
O SQL-Query bringt Fehler Datenbankprogrammierung 4
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Fehler in der HSQLDB Datenbankprogrammierung 6
B fehler bei select befehl Datenbankprogrammierung 5
G SQL fehler -> woran liegt das? Datenbankprogrammierung 3
M Odbc und Fehler Datenbankprogrammierung 44
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
D mySQL emullierte PreparedStatements haben Fehler unter Last Datenbankprogrammierung 3
F Fehler in Suns FilteredRowSet Implementierung? Datenbankprogrammierung 11
R Fehler in der Eingabe? Datenbankprogrammierung 3
J Fehler bei Oracle-Datenbankverbindung Datenbankprogrammierung 2
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
G Fehler beim Verbinden Datenbankprogrammierung 4
D Primary-Key -> Fehler: "Unique constraint violation& Datenbankprogrammierung 12
E Fehler in der SQL-Anweisung Datenbankprogrammierung 11
A Fehler in der Datenbankklasse Datenbankprogrammierung 14
M insert befehl funzt nicht!wo ist der fehler? Datenbankprogrammierung 5
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
L komischer Fehler von ResultSet. Datenbankprogrammierung 2
E Fehler bei String-Insert in MySQL-DB Datenbankprogrammierung 8
G Wo ist hier der Fehler (createStatement) Datenbankprogrammierung 2
M executeBatch() - Inserts trotz Fehler weitermachen Datenbankprogrammierung 5
W Fehler bei Insert Anweisung obwohl getestet Datenbankprogrammierung 3
J Fehler beim PreparedStatement Datenbankprogrammierung 2
H Java/Access - Fehler bei der Parameterübergbe Datenbankprogrammierung 4

Ähnliche Java Themen


Oben