Problem mit Treiber? insert into Befehl geht nicht

Status
Nicht offen für weitere Antworten.
Hallo!

Mein Problem ist es, so glaube ich, dass mir ein Treiber fehlt (vielleicht JDBC ODBC Bridge??).
Die Ausgabe meines Programmes sieht folgendermaßen aus:

  • C:\Dokumente und Einstellungen\Christian\Test\src>java -cp . Labor_12
    Treiber erfolgreich geladen
    Verbindung erfolgreich aufgebaut
    Statement erfolgreich erzeugt
    sql> select * from test1
    name : alter : beruf :
    sql> insert into test1 values("Christian",18,"Schüler");
    Fehler:
    [Microsoft][ODBC Microsoft Access Driver] Fehlt
    sql>

Ein Select geht komischerweise, aber bei einem insert fehlt irgendwas. Ich weiß aber nicht was, normal sollte das Programm schon funktionieren. Kann es sein, dass mir eine JDBC ODBC Bridge fehlt, wenn ja, wo kann man die herbekommen? Ich müsste das Programm, nämlich nochmal testen, weil ich morgen das für die Schule brauche. Hier noch mal der Code, falls der für mein Problem wichtig ist:

Code:
import java.sql.*;
import java.io.*;
import java.util.*;

public class Labor_12 {

  public static void main(String []args) 	{
    Connection con = null;
    try {
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     System.out.println("Treiber erfolgreich geladen");
    }
    catch(ClassNotFoundException e) {
     System.err.println("Fehler: " + e);
     System.exit(0);
    }

    try {
      con = DriverManager.getConnection("jdbc:odbc:Test","","");
      con.setAutoCommit(false);
      System.out.println("Verbindung erfolgreich aufgebaut");
    }
    catch(SQLException e) {
      System.err.println("Fehler: " + e.getMessage()); 
      System.exit(0);
    }

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    Statement s = null;
    try {
      s = con.createStatement();
      System.out.println("Statement erfolgreich erzeugt");
    }
    catch(SQLException e) {
      System.err.println("Fehler: " + e.getMessage());
      System.exit(1);
    }

    try {
      boolean alt=false;
      int i=0;
      String[] st = new String[0];
      String line = null;
      System.out.print("sql> ");
      System.out.flush();
      line = in.readLine();
      outer: if(line.startsWith("-s")) {
          if((st = readTXT(line))==null)
              break outer;
          for(i=0;i<st.length;i++) 
              x(st[i],s);
          if(i==(st.length-1))
            con.commit(); 
          else
              con.rollback();
          alt=true;
      }
      while(!line.equals("quit")) {
        if(alt==false) {
            x(line,s);
            con.commit();
        }
        System.out.print("sql> ");
        System.out.flush();
        alt=false;
        line = in.readLine();
        outer: if(line.startsWith("-s")) {
          if((st = readTXT(line))==null)
              break outer;
          for(i=0;i<st.length;i++)
              x(st[i],s);
          if(i==(st.length-1))
              con.commit();
          else
              con.rollback();
          alt=true;
        }
      }
    }
    catch(SQLException sqle) {}
    catch(IOException ioe) {}

    try {
      con.close();
      System.out.println("Verbindung erfolgreich aufgeloest");
    }
    catch(SQLException e) {
      System.err.println("Fehler: " + e);
    }
  }

  public static void x(String line, Statement s) {
          try {
          if(s.execute(line)) {  // Abfrage durchgeführt
            ResultSet rs = s.getResultSet();
            printRecords(rs);
          }
          else {
            int nr = s.getUpdateCount();
            System.out.println(nr + " Datensätze erfolgreich aktualisiert");
          }
        }
        catch(SQLException e) {
          System.out.println("Fehler:\n" + e.getMessage() );
        }

  }
  
  public static void printRecords(ResultSet rs) throws SQLException {
    ResultSetMetaData rsmd = rs.getMetaData();
    StringBuffer header = new StringBuffer();
    for (int i = 1; i <= rsmd.getColumnCount(); i++) 
      header.append(rsmd.getColumnName(i) + " : ");
      System.out.println(header);
      StringBuffer line;
      while(rs.next()) {
        line = new StringBuffer();	
        for (int i = 1; i <= rsmd.getColumnCount(); i++) { 
          switch(rsmd.getColumnType(i)) {
            case Types.INTEGER: line.append(rs.getInt(i) + " : ");
	                        break;
            case Types.DOUBLE:  line.append(rs.getDouble(i) + " : ");
                                break;
            case Types.VARCHAR: line.append(rs.getString(i) + " : ");
		                break;                     
            default:            line.append(rs.getString(i)+ " : ");
			        break;
          }
        }
    System.out.println(line);
    }
  }
  private static String[] readTXT(String line) {
      StringBuffer sb = new StringBuffer();
      try {
          BufferedReader br = new BufferedReader(new FileReader(line.substring(3)));
          String help;
          while((help=(br.readLine()))!=null) {
            if(!help.equals(null))
                sb.append(help);
          }
      }
      catch(FileNotFoundException fnfe) {
          System.out.println("Datei nicht vorhanden.");
          return null;
      }
      catch(IOException e) {}
      StringTokenizer st = new StringTokenizer(new String(sb),";");
      String[] s = new String[st.countTokens()];
      for(int i=0;i<s.length;i++) 
          s[i] = (String)st.nextElement()+";";
      return s;
  }
}



Danke schon mal!!

mfg,
Christian.
 

DP

Top Contributor
gib mal den ganzen stacktrace aus (e.printstacktrace()) anstatt getmessage
 
Er gibt folgendes aus:

  • C:\Dokumente und Einstellungen\Christian\Test\src>java -cp . Labor_12
    Treiber erfolgreich geladen
    Verbindung erfolgreich aufgebaut
    Statement erfolgreich erzeugt
    sql> select * from test1
    name : alter : beruf :
    sql> insert into test1 values("Christian",18,"Schüler");
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Fehlt
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
    at Labor_12.x(Labor_12.java:96)
    at Labor_12.main(Labor_12.java:62)
    sql>

Was kann das sein? - in der Schule bekomme ich keine solche Fehlermeldung.

Danke schon mal!

mfg,
Christian.
 

abollm

Top Contributor
Wie ist denn die Tabelle genau aufgebaut -> Spalten?

Du verwendest in der Schule die gleiche INSERT-Anweisung?
 
ja alles das gleiche. Die Tabelle ist immer anders aufgebaut. Es darf für dieses programm kein problem sein, welche spalten und wie viele spalten drinnen sind. Die syntax der insert into anweisung war komplett richtig.

Ich hab das programm eh schon abgegeben. in der schule hat es funktioniert. Aber wir bekommen auch noch eine richtige hausübung auf zu diesem thema und da wäre es super, wenn ich es auch zu hause testen könnte.

Vielleicht hat ja noch wer eine idee was das problem sein könnte.

Danke auf jeden Fall!

mfg,
Christian.
 

Bleiglanz

Gesperrter Benutzer
verwende mal einfache hochkommas '

stimmen die typen?

ist name ein char
alter ein int
beruf ein char
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Eclipse Apache Derby Treiber Problem Datenbankprogrammierung 4
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
S ODBC Treiber Problem/oder unvermögen Datenbankprogrammierung 18
JavaKaffee Derby/JavaDB Quartz-WebAnwendung - Connection/Treiber Problem Datenbankprogrammierung 47
S Oracle JDBC Treiber Problem Datenbankprogrammierung 4
J Problem mit dem JDBC Treiber Datenbankprogrammierung 5
A Datenbankzugriff per Applet - Problem beim Treiber laden Datenbankprogrammierung 6
S jdbc treiber problem Datenbankprogrammierung 12
F Problem mit Oracle-JDBC-Treiber Datenbankprogrammierung 5
2 problem mit jdbc treiber Datenbankprogrammierung 4
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
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
A kleines Problem Datenbankprogrammierung 6
T Problem mit Datenbankverbindung Datenbankprogrammierung 22
V Derby/JavaDB updateRow Problem Datenbankprogrammierung 0
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
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
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
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
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
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
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
B MySQL Problem mit Datenbankanbindung an MySQL Datenbankprogrammierung 2
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
I Problem mit ResultSet Datenbankprogrammierung 2
L Excel in MySQL importieren Problem Datenbankprogrammierung 5
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
T Problem beim schreiben von daten Datenbankprogrammierung 4
M MySQL getConnection - Verbindung Problem Datenbankprogrammierung 2
K Hibernate + MySQL Problem... Datenbankprogrammierung 2
I MySQL MySQL – Proxy Problem Datenbankprogrammierung 4
M Problem mit Hibernate und Named Query Datenbankprogrammierung 1
M Problem mit Hibernate und Access Datenbankprogrammierung 9
C firebird problem Datenbankprogrammierung 5
F Problem mit Datenbankabfrage Datenbankprogrammierung 7
K SQL Problem mit Date Datenbankprogrammierung 3
jeppi MySQL Design-Problem: DB-Verbindung herstellen und halten - JdbcRowSet / Idle-Timeout? Datenbankprogrammierung 9
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
G MySQL Connection Problem Datenbankprogrammierung 3
O MySQL Problem mit Umlauten?! Datenbankprogrammierung 2
E Hibernate Problem bei bidirektionaler 1:n Verbindung Datenbankprogrammierung 2
D MySQL Problem beim einfügen von Double-Zahlen Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben