Problem mit Update

Status
Nicht offen für weitere Antworten.
L

Lu

Gast
Hallo, ich habe ein mir unerklärliches Problem mit meiner Datenbankanwendung.
Wenn ich den Code ausführe, funktioniert alles, sobald ich aber in der Methode 'test' die Kommentare entferne, wird der Code zwar auch ausgeführt, jedoch stürzt das Programm dann mit der unten angegebenen Fehlermeldung ab.
Vielleicht weißt jemand was dazu zu sagen. Ich kann mir das nicht erklären.

Code:
 public class Auftragsverwaltung
{
    public static void main(String[] args)
    {
        // Datenbank anbinden
        try
        {
            Datenbank.dbConnect();
        }
        catch(Exception e)
        {
            System.out.println("Die Datenbank konnte nicht geöffnet werden " + e);
        }    
          test();
        //Desktop erzeugen
        DesktopFrame desktop = new DesktopFrame();
        desktop.setLocation(10, 10);
        desktop.setSize(900, 720);
        desktop.setVisible(true);       
    }
    
    public static void test()
    {
        String qt = "UPDATE Aufträge SET Firma='1', Strasse = '1' WHERE (ID = 6332);";
        Datenbank.dbSetGeraete(qt);
        qt = "UPDATE Aufträge SET Firma='2', Strasse = '2' WHERE (ID = 6332);";
        Datenbank.dbSetGeraete(qt);
   //     qt = "UPDATE Aufträge SET Firma='3', Strasse = '3' WHERE (ID = 6332);";
   //     Datenbank.dbSetGeraete(qt);
    }
}


An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x77F4B2AB
Function=RtlEnterCriticalSection+0xB
Library=C:\WINDOWS\System32\ntdll.dll

Current Java thread:
at sun.jdbc.odbc.JdbcOdbc.execDirect(Native Method)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3105)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
- locked <0x1004cd40> (a sun.jdbc.odbc.JdbcOdbcStatement)
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
at Datenbank.dbSetGeraete(Datenbank.java:254)
at Auftragsverwaltung.test(Auftragsverwaltung.java:42)
at Auftragsverwaltung.main(Auftragsverwaltung.java:27)

Dynamic libraries:
0x00400000 - 0x00406000 C:\j2sdk1.4.2_04\jre\bin\java.exe
0x77F40000 - 0x77FEE000 C:\WINDOWS\System32\ntdll.dll
0x77E40000 - 0x77F38000 C:\WINDOWS\system32\kernel32.dll
0x77DA0000 - 0x77E3C000 C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78087000 C:\WINDOWS\system32\RPCRT4.dll
0x77BE0000 - 0x77C33000 C:\WINDOWS\system32\MSVCRT.dll
0x08000000 - 0x08138000 C:\j2sdk1.4.2_04\jre\bin\client\jvm.dll
0x77D10000 - 0x77D9C000 C:\WINDOWS\system32\USER32.dll
0x7E180000 - 0x7E1C1000 C:\WINDOWS\system32\GDI32.dll
0x76AF0000 - 0x76B1D000 C:\WINDOWS\System32\WINMM.dll
0x10000000 - 0x10007000 C:\j2sdk1.4.2_04\jre\bin\hpi.dll
0x00390000 - 0x0039E000 C:\j2sdk1.4.2_04\jre\bin\verify.dll
0x003A0000 - 0x003B9000 C:\j2sdk1.4.2_04\jre\bin\java.dll
0x003C0000 - 0x003CD000 C:\j2sdk1.4.2_04\jre\bin\zip.dll
0x003F0000 - 0x003FC000 C:\j2sdk1.4.2_04\jre\bin\JdbcOdbc.dll
0x02C60000 - 0x02C92000 C:\WINDOWS\System32\ODBC32.dll
0x77310000 - 0x7739B000 C:\WINDOWS\system32\COMCTL32.dll
0x773A0000 - 0x77BA4000 C:\WINDOWS\system32\SHELL32.dll
0x70A70000 - 0x70AD4000 C:\WINDOWS\system32\SHLWAPI.dll
0x76350000 - 0x76396000 C:\WINDOWS\system32\comdlg32.dll
0x71950000 - 0x71A34000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.1515_x-ww_7bb98b8a\comctl32.dll
0x1F850000 - 0x1F868000 C:\WINDOWS\System32\odbcint.dll
0x1F8F0000 - 0x1F932000 C:\WINDOWS\System32\odbcjt32.dll
0x1B000000 - 0x1B170000 C:\WINDOWS\System32\msjet40.dll
0x1B5D0000 - 0x1B665000 C:\WINDOWS\System32\mswstr10.dll
0x7CCC0000 - 0x7CDE4000 C:\WINDOWS\system32\ole32.dll
0x770F0000 - 0x7717B000 C:\WINDOWS\system32\OLEAUT32.dll
0x1F8E0000 - 0x1F8EF000 C:\WINDOWS\System32\odbcji32.dll
0x1B2C0000 - 0x1B2CD000 C:\WINDOWS\System32\msjter40.dll
0x1B2D0000 - 0x1B2FD000 C:\WINDOWS\System32\MSJINT40.DLL
0x76F50000 - 0x76F60000 C:\WINDOWS\System32\Secur32.dll
0x7A170000 - 0x7A1F1000 C:\WINDOWS\System32\CLBCATQ.DLL
0x77010000 - 0x770E3000 C:\WINDOWS\System32\COMRes.dll
0x77BD0000 - 0x77BD7000 C:\WINDOWS\system32\VERSION.dll
0x1B810000 - 0x1B84A000 C:\WINDOWS\System32\msjtes40.dll
0x0F9A0000 - 0x0F9AB000 C:\WINDOWS\System32\VBAJET32.DLL
0x0F9C0000 - 0x0FA22000 C:\WINDOWS\System32\expsrv.dll
0x03450000 - 0x034AE000 C:\WINDOWS\System32\SQLSRV32.dll
0x41090000 - 0x410BD000 C:\WINDOWS\System32\SQLUNIRL.dll
0x72F70000 - 0x72F93000 C:\WINDOWS\System32\WINSPOOL.DRV
0x71BA0000 - 0x71BEE000 C:\WINDOWS\System32\NETAPI32.dll
0x758E0000 - 0x758E7000 C:\WINDOWS\System32\NDDEAPI.DLL
0x1FA20000 - 0x1FA38000 C:\WINDOWS\System32\sqlsrv32.rll
0x07EE0000 - 0x07EF9000 C:\WINDOWS\System32\odbccp32.dll
0x74CB0000 - 0x74CBF000 C:\WINDOWS\System32\DBNETLIB.DLL
0x07F00000 - 0x07F09000 C:\WINDOWS\System32\WSOCK32.dll
0x07F10000 - 0x07F24000 C:\WINDOWS\System32\WS2_32.dll
0x07F30000 - 0x07F38000 C:\WINDOWS\System32\WS2HELP.dll
0x71F10000 - 0x71F14000 C:\WINDOWS\System32\security.dll
0x76260000 - 0x762E9000 C:\WINDOWS\system32\crypt32.dll
0x76240000 - 0x76250000 C:\WINDOWS\system32\MSASN1.dll
0x76CD0000 - 0x76CED000 C:\WINDOWS\system32\msv1_0.dll
0x76750000 - 0x76763000 C:\WINDOWS\System32\ntdsapi.dll
0x76EE0000 - 0x76F05000 C:\WINDOWS\System32\DNSAPI.dll
0x76F20000 - 0x76F4D000 C:\WINDOWS\system32\WLDAP32.dll
0x07F40000 - 0x07F7C000 C:\WINDOWS\system32\mswsock.dll
0x07F80000 - 0x07F88000 C:\WINDOWS\System32\wshtcpip.dll
0x76F70000 - 0x76F77000 C:\WINDOWS\System32\winrnr.dll
0x76F80000 - 0x76F85000 C:\WINDOWS\System32\rasadhlp.dll
0x76C50000 - 0x76C72000 C:\WINDOWS\system32\imagehlp.dll
0x6DA00000 - 0x6DA7D000 C:\WINDOWS\system32\DBGHELP.dll
0x76BB0000 - 0x76BBB000 C:\WINDOWS\System32\PSAPI.DLL

Heap at VM Abort:
Heap
def new generation total 576K, used 251K [0x10010000, 0x100b0000, 0x104f0000)
eden space 512K, 49% used [0x10010000, 0x1004ec20, 0x10090000)
from space 64K, 0% used [0x10090000, 0x10090000, 0x100a0000)
to space 64K, 0% used [0x100a0000, 0x100a0000, 0x100b0000)
tenured generation total 1408K, used 0K [0x104f0000, 0x10650000, 0x14010000)
the space 1408K, 0% used [0x104f0000, 0x104f0000, 0x104f0200, 0x10650000)
compacting perm gen total 4096K, used 1514K [0x14010000, 0x14410000, 0x18010000)
the space 4096K, 36% used [0x14010000, 0x1418abc8, 0x1418ac00, 0x14410000)

Local Time = Fri Sep 10 15:48:04 2004
Elapsed Time = 0
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_04-b05 mixed mode)
#
 

foobar

Top Contributor
Ein paar Tips:
Code:
String qt = "UPDATE Aufträge SET Firma='1', Strasse = '1' WHERE (ID = 6332);";
- Umlaute haben in Programmen nichts verloren, daß führt nur zu Problemen und sieht nicht schön aus.
- Zahlenwerte müssen in SQL nicht gequotet werden.
 

akira

Bekanntes Mitglied
Ansonsten poste mal noch den Code der Methode Datenbank.dbSetGeraete.

Der Fehler wird wahrscheinlich eher dort zu finden sein, obwohl der Fehler eher auf einen falschen Treiber hinweist.

Bist Du dir sicher, den richtigen genommen zu haben?
 
G

Guest

Gast
den treiber hab ich folgendermaßen angebunden, andere abfragen funktionieren ohne probleme.

protected static void dbConnect()
throws Exception
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
con = DriverManager.getConnection( "jdbc:eek:dbc:Xerox_v1.11");
stmt = con.createStatement();
}

der code für setGeräte:

Code:
    public static void dbSetGeraete(String query)
    {
        try
        {
          //  stmt.execute(query);
            stmt.executeUpdate(query);
        } 
        catch (SQLException e)
        {
            System.out.println("Fehler2 " + e);
        }
    }


-> foobar:
"- Umlaute haben in Programmen nichts verloren, daß führt nur zu Problemen und sieht nicht schön aus."

die umlaute kann ich nicht ändern, da ich die datenbank nicht erstellt habe.
 

apfelsine

Aktives Mitglied
die umlaute kann ich nicht ändern, da ich die datenbank nicht erstellt habe.

das ist schlecht...

das kann zu Problemen führen, wenn der Treiber nicht "deutsch kann"
sprich , wenn es ein englischer Treiber ist, hast du dein Problem wahrscheinlich schon gefunden.
dh. nicht das es mit einem deutschen funktioniert.
ich glaub man kann die umlaute irgendwie maskieren... muss ma nachschauen

Ansonsten... welcher DB-Hersteller isses denn?
MS SQL Server
Oracle oder was?
 
L

Lu

Gast
Die Datenbank wurde mit access erstellt und läuft auf nem MS SQL Server.
Wenn das an den Umlauten liegen sollte, würde es dann nicht beim ersten mal nicht schon nen Problem geben?
 

Bleiglanz

Gesperrter Benutzer
probiers mal mit
Code:
qt = "UPDATE \"Aufträge\" SET Firma='3', Strasse = '3' WHERE (ID = 6332);";
Datenbank.dbSetGeraete(qt);
Also den Tabellennamen mit Umlauten in normale doppelte Hochkommas einschliessen (das hilft bei M$ manchmal)
 
L

Lu

Gast
Hallo,
also mit dem Maskieren, daß funktioniert nicht.
Mit dem neuen Treiber muß ich nochmal ein wenig rumprobieren
 
L

Lu

Gast
Hallo,

ich habe die Anbindung an die Datenbank mal mit dem neuen Treiber versucht.

Code:
   protected static void dbConnect()
    throws Exception
    {   
        String com = "cmd set CLASSPATH=.;c:\\Programme\\Microsoft SQL Server 2000 Driver for 
                         + "JDBC\\lib\\msbase.jar;"
                        + "c:\\Programme\\Microsoft SQL Server 2000 Driver for JDBC\\lib\\msutil.jar;"
                        + "c:\\Programme\\Microsoft SQL Server 2000 Driver for JDBC\\lib\\mssqlserver.jar";
        Process child = Runtime.getRuntime().exec(com);
            
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
        con = DriverManager.getConnection("jdbc:microsoft:sqlserver://it:1433"
                                                          + ";databaseName=Xerox_v1.11"); 


        stmt = con.createStatement();
    }

Hier bekomme ich dann die Fehlermeldung:

java.lang.ClassNotFoundException: com.jdbc.sqlserver.SQLServerDriver

Habe ich da was vergessen oder falsch gemacht?
 

apfelsine

Aktives Mitglied
sieht so aus, als würde das so nicht funktionieren. der findet den treiber so nicht
Code:
To Set the CLASSPATH Variable
The Microsoft SQL Server 2000 driver for JDBC .jar files must be listed in your CLASSPATH variable. The CLASSPATH 
variable is the search string that Java Virtual Machine (JVM) uses to locate the JDBC drivers on your computer. If the 
drivers are not listed in your CLASSPATH variable, you receive the following error message when you try to load the 
driver:
java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
Set your system CLASSPATH variable to include the following entries:

    * \Your installation path\Lib\Msbase.jar
    * \Your installation path\Lib\Msutil.jar
* \Your installation path\Lib\Mssqlserver.jar
mach das mal. dann müsste es gehen



geht das nicht anders also so???
Code:
 String com = "cmd set CLASSPATH=.;c:\\Programme\\Microsoft SQL Server 2000 Driver for
                         + "JDBC\\lib\\msbase.jar;"
                        + "c:\\Programme\\Microsoft SQL Server 2000 Driver for JDBC\\lib\\msutil.jar;"
                        + "c:\\Programme\\Microsoft SQL Server 2000 Driver for JDBC\\lib\\mssqlserver.jar";
        Process child = Runtime.getRuntime().exec(com);
Ich hab das in Eclipse direkt in meine Compilerconfig "Java Build Path"-"Libraries" eingegeben...
ich weiß nicht wie das anders geht. Aber so wohl nicht
 
L

Lu

Gast
also wenn ich im dos-fenster die classpath-variable setze, gilt diese ja nur für das aktuelle dos-fenster.
wo kann ich denn die system classpath variable setzen?
kann ich das in netbeans machen?
 
L

Lu

Gast
ok, das sieht vielversprechend aus. muß nochmal ein wenig rumprobieren.
Vielen Dank schon mal
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
J MyBatis - Update Problem Datenbankprogrammierung 4
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
R MS Access mit Java Problem mit Update Statment Datenbankprogrammierung 13
cosmic Problem beim Update einer Oracle DB Datenbankprogrammierung 7
T Problem beim Update in die Access DB Datenbankprogrammierung 9
S Update Problem Datenbankprogrammierung 3
N Hibernate & hsqldb: Problem bei db-update Datenbankprogrammierung 7
T Problem beim Update vom Resultset + Firebird Datenbankprogrammierung 2
W Hibernate Update Problem Datenbankprogrammierung 3
O Update-Problem mit Hibernate-Framework Datenbankprogrammierung 5
G Problem mit Datums-Format bei UPDATE Datenbankprogrammierung 3
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
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
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
S ODBC Treiber Problem/oder unvermögen Datenbankprogrammierung 18
J Problem bei Boolean in PreparedStatement Datenbankprogrammierung 5
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
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
L Excel in MySQL importieren Problem Datenbankprogrammierung 5
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
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

Ähnliche Java Themen

Neue Themen


Oben