# Fehler mit ". Microsoft Access Driver"



## HaGs (13. Nov 2008)

Hallo,

ich habe eine Java Anwendung bei der ich seit dem Update auf jre 6u7 folgende Fehlermeldung erhalte.

"java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optionales Feature wurde nicht implementiert.
        at com.sun.rowset.internal.CachedRowSetReader.readData(Unknown Source)
        at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
        at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
        .................... "

Die Access Datenbank habe ich mit 
      .......
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      dbInitString="jdbcdbcriver={Microsoft Access Driver (*.mdb)};DBQ=";
      dbInitString+=dbPathNameSystem.trim() + ";DriverID=22;READONLY=false}";
      .......
eingebunden.

Liegt der Fehler nun am "... Microsoft Access Driver", oder an den " com.sun.rowset.CachedRowSetImpl " und " com.sun.rowset.FilteredRowSetImpl " die ich auch verwende???

Auf alle Fälle hat die Anwendung mit der jre 6u2 noch funktioniert!!!!

Gruß HaGs.


----------



## diel2001 (13. Nov 2008)

Hallo 
ich glaube dir fehlt die mysql jar datei;
die mysql connector....jar.


----------



## thE_29 (14. Nov 2008)

Warum sollte er eine mysql Jar für Access brauchen?!

Poste lieber mal den Source wo die Exception kommt!
Also beim Auslesen der DB oder was auch immer du machst.


----------



## HaGs (14. Nov 2008)

Hallo,

ich habe jetzt für Testzwecke folgende kleine Methode geschrieben:

```
import java.sql.*;
import javax.sql.rowset.*;
import com.sun.rowset.FilteredRowSetImpl;
import javax.swing.*;
........
........
public void printDataFromDB_() {
    String dbInitString_;
    dbPathNameUser_=Properties_.getInst_().getPropertyFromFile_(Properties_.getInst_().keys_.get("dbPathUser"));
    System.out.println("Hurra ich bin hier 1: "+dbPathNameUser_ );
    try {
    dbInitString_="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};";
    dbInitString_+="DBQ="+dbPathNameUser_.trim() + ";DriverID=22;READONLY=false}";
    //
    FilteredRowSet frs2_=new FilteredRowSetImpl();
    frs2_.setUrl(dbInitString_);
    frs2_.setCommand("SELECT * FROM UserDataMaster");
    //
    System.out.println("Hurra ich bin hier 2: "+frs2_.getRow() );

    frs2_.close();  // *** bis hier gibt es keine Felermeldung ***
    //frs2_.execute(); *** Das Funktioniert nicht, hier ist dann die Zeile 522 im Gesamtcode ***

    //while (frs2_.next() ) {
      //
      //System.out.println("datumS: "+frs2_.getString("DatumS") );
    //}
    //frs2_.close();
    //frs2_.execute();
    //
    } catch ( Exception e ) { e.printStackTrace(); }
  }
```

Wenn ich " frs2_.close() " auskommentiere und stattdessen" frs2_.execute() " aufrufe dann erhalte ich die Fehlermeldung:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optionales Feature wurde nicht implementiert.
        at com.sun.rowset.internal.CachedRowSetReader.readData(Unknown Source)
        at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
        at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
        at konstd.DataBase_.printDataFromDB_(DataBase_.java:522)
......

So wie es aussieht ist der .execute() aufruf das Problem!?
Weiß jemand einen Grund für diese SQLException??

Nochmals der Hinweis: Erst sei JRE 6u7 erhalte ich diese SQLException !!

Grüße HaGa


----------



## HaGs (16. Nov 2008)

Hallo,

ich komme nicht weiter! Das scheint ein kompliziertes Thema zu sein. Im Internet habe ich einiges zum Thema "...java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optionales Feature wurde nicht implementiert." gefunden, und diese Fehlermeldung scheint bei vielen unterschiedlichen Problemen aufzutreten. Leider habe ich keinen Lösungsansatz gefunden!

Ich habe jetzt mit "DriverManager.setLogWriter( new PrintWriter(System.out) );" einen Log-Print erstellt. Vielleicht kann jemand damit was anfangen?

Die Methode:

```
public void printDataFromDB_() {
    String dbInitString_;
    dbPathNameUser_=Properties_.getInst_().getPropertyFromFile_(Properties_.getInst_().keys_.get("dbPathUser"));
    System.out.println("Hurra ich bin hier 1: "+dbPathNameUser_ );
    DriverManager.setLogWriter( new PrintWriter(System.out) );
    try {
    //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//com.mysql.jdbc.Driver, odbc
    dbInitString_="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};";
    dbInitString_+="DBQ="+dbPathNameUser_.trim() + ";DriverID=22;READONLY=false}";
    //
    Connection dbConnection_=DriverManager.getConnection(dbInitString_, "", "");// user, password
    Statement stmt_=dbConnection_.createStatement();
    
    ResultSet res=stmt_.executeQuery( "SELECT * FROM UserDataMaster" );
    res.getWarnings();
    System.out.println("Hurra ich bin hier 2: "+res.getMetaData() );
    res.close();
    stmt_.close();
    //
    //FilteredRowSet frs2_=new FilteredRowSetImpl();
    //frs2_.setUrl(dbInitString_);
    //frs2_.setCommand("SELECT * FROM UserDataMaster");
    //
    //frs2_.beforeFirst();
    //System.out.println("Hurra ich bin hier 2: "+frs2_.getString("DatumS") );
    //frs2_.close();
    //frs2_.;
    //while (frs2_.next() ) {
      //
      //System.out.println("datumS: "+frs2_.getString("DatumS") );
    //}
    //frs2_.close();
    //frs2_.execute();
    //
    } catch ( Exception e ) { e.printStackTrace(); }
  }//Methode Ende
```

Hier der Log-Print:

Java Runtime Version: 1.6.0_10-b33
Java VM Version_: 11.0-b15
Einstellungs-Datei gefunden und geladen  ...! <C:\Programme\Java\Progs\KonStd\Hannes Gschwentner_properties.txt>
Hurra ich bin hier 1: C:\Programme\Java\Progs\KonStd\RunTime\UserDataBase.mdb
DriverManager.getConnection("jdbcdbcriver={Microsoft Access Driver (*.mdb)};DBQ=C:\Programme\Java\Progs\KonStd\RunTime\UserDataBase.mdb;DriverID=22;READONLY=false}")
JdbcOdbcDriver class loaded
registerDriver: driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@929206]
DriverManager.initialize: jdbc.drivers = null
JDBC DriverManager initialized
    trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@929206]
*Driver.connect (jdbcdbcriver={Microsoft Access Driver (*.mdb)};DBQ=C:\Programme\Java\Progs\KonStd\RunTime\UserDataBase.mdb;DriverID=22;READONLY=false})
JDBC to ODBC Bridge: Checking security
No SecurityManager present, assuming trusted application/applet
JDBC to ODBC Bridge 2.0001
Current Date/Time: Sun Nov 16 09:23:00 CET 2008
Loading JdbcOdbc library
Allocating Environment handle (SQLAllocEnv)
hEnv=60363424
Allocating Connection handle (SQLAllocConnect)
hDbc=60363592
Connecting (SQLDriverConnect), hDbc=60363592, szConnStrIn=Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Programme\Java\Progs\KonStd\RunTime\UserDataBase.mdb;DriverID=22;READONLY=false}
*Connection.getMetaData
*DatabaseMetaData.getDriverName
Get connection info string (SQLGetInfo), hDbc=60363592, fInfoType=6, len=300
odbcjt32.dll
*DatabaseMetaData.getDriverVersion
Get connection info string (SQLGetInfo), hDbc=60363592, fInfoType=7, len=300
04.00.6305
*DatabaseMetaData.getDriverName
Get connection info string (SQLGetInfo), hDbc=60363592, fInfoType=6, len=300
odbcjt32.dll
Driver name:    JDBC-ODBC Bridge (odbcjt32.dll)
*DatabaseMetaData.getDriverVersion
Driver.finalize
Get connection info string (SQLGetInfo), hDbc=60363592, fInfoType=7, len=300
04.00.6305
Driver version: 2.0001 (04.00.6305)
Caching SQL type information
*Connection.getMetaData
*DatabaseMetaData.getTypeInfo
Allocating Statement Handle (SQLAllocStmt), hDbc=60363592
hStmt=60367456
Get type info (SQLGetTypeInfo), hStmt=60367456, fSqlType=0
Number of result columns (SQLNumResultCols), hStmt=60367456
value=19
Get connection info string (SQLGetInfo), hDbc=60363592, fInfoType=10, len=300
03.52.0000
Fetching (SQLFetch), hStmt=60367456
Column attributes (SQLColAttributes), hStmt=60367456, icol=1, type=2
value (int)=12
Column attributes (SQLColAttributes), hStmt=60367456, icol=1, type=3
value (int)=128
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
GUID
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-11
Get integer data (SQLGetData), hStmt=60367456, column=3
value=36
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BIT
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-7
Get integer data (SQLGetData), hStmt=60367456, column=3
value=1
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BYTE
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-6
Get integer data (SQLGetData), hStmt=60367456, column=3
value=3
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BIGBINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-4
Get integer data (SQLGetData), hStmt=60367456, column=3
value=4000
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
LONGBINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-4
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
VARBINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-3
Get integer data (SQLGetData), hStmt=60367456, column=3
value=510
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-2
Get integer data (SQLGetData), hStmt=60367456, column=3
value=510
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
LONGCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-1
Get integer data (SQLGetData), hStmt=60367456, column=3
value=1073741823
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
LONGCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-1
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
CHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=1
Get integer data (SQLGetData), hStmt=60367456, column=3
value=255
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
CHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=1
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
CURRENCY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=2
Get integer data (SQLGetData), hStmt=60367456, column=3
value=19
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
DECIMAL
Get integer data (SQLGetData), hStmt=60367456, column=2
value=2
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
COUNTER
Get integer data (SQLGetData), hStmt=60367456, column=2
value=4
Get integer data (SQLGetData), hStmt=60367456, column=3
value=10
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
INTEGER
Get integer data (SQLGetData), hStmt=60367456, column=2
value=4
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
SMALLINT
Get integer data (SQLGetData), hStmt=60367456, column=2
value=5
Get integer data (SQLGetData), hStmt=60367456, column=3
value=5
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
REAL
Get integer data (SQLGetData), hStmt=60367456, column=2
value=7
Get integer data (SQLGetData), hStmt=60367456, column=3
value=7
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
DOUBLE
Get integer data (SQLGetData), hStmt=60367456, column=2
value=8
Get integer data (SQLGetData), hStmt=60367456, column=3
value=15
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
DATETIME
Get integer data (SQLGetData), hStmt=60367456, column=2
value=11
Get integer data (SQLGetData), hStmt=60367456, column=3
value=19
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
VARCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=12
Get integer data (SQLGetData), hStmt=60367456, column=3
value=255
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
VARCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=12
Fetching (SQLFetch), hStmt=60367456
End of result set (SQL_NO_DATA)
*ResultSet.close
Free statement (SQLFreeStmt), hStmt=60367456, fOption=1
*ResultSet has been closed
Get connection info (SQLGetInfo), hDbc=60363592, fInfoType=44
 int value=19
Get connection info (SQLGetInfo), hDbc=60363592, fInfoType=168
 int value=1
Get connection info (SQLGetInfo), hDbc=60363592, fInfoType=151
 int value=127
Get connection info (SQLGetInfo), hDbc=60363592, fInfoType=121
 int value=0
Get connection info (SQLGetInfo), hDbc=60363592, fInfoType=120
 int value=0
Get connection info (SQLGetInfo), hDbc=60363592, fInfoType=153
 int value=2
getConnection returning driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@929206]
*Connection.createStatement
Allocating Statement Handle (SQLAllocStmt), hDbc=60363592
hStmt=60367456
Setting statement option (SQLSetStmtOption), hStmt=60367456, fOption=6, vParam=0
Setting statement option (SQLSetStmtOption), hStmt=60367456, fOption=7, vParam=1
Registering Statement sun.jdbc.odbc.JdbcOdbcStatement@16930e2
*Statement.executeQuery (SELECT * FROM UserDataMaster)
*Statement.execute (SELECT * FROM UserDataMaster)
Free statement (SQLFreeStmt), hStmt=60367456, fOption=0
Executing (SQLExecDirect), hStmt=60367456, szSqlStr=SELECT * FROM UserDataMaster
Number of result columns (SQLNumResultCols), hStmt=60367456
value=11
Number of result columns (SQLNumResultCols), hStmt=60367456
value=11
*ResultSet.getMetaData
Hurra ich bin hier 2: sun.jdbc.odbc.JdbcOdbcResultSetMetaData@1add2dd
*ResultSet.close
*ResultSet has been closed
*Statement.close
Free statement (SQLFreeStmt), hStmt=60367456, fOption=1
deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@16930e2
Statement.finalize sun.jdbc.odbc.JdbcOdbcStatement@16930e2
*Statement.close
ResultSet.finalize sun.jdbc.odbc.JdbcOdbcResultSet@defa1a
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.executeDBCommand_(DataBase_.java:483)
	at konstd.O1AuftragListen_.fillDataFromDBtoLists_(01AuftragListen_.java:155)
	at konstd.O1AuftragListen_.<init>(01AuftragListen_.java:46)
	at konstd.O1AuftragListen_.<clinit>(01AuftragListen_.java:14)
	at konstd.O1BuildCard_.<init>(01BuildCard_.java:13)
	at konstd.O1BuildCard_.<clinit>(01BuildCard_.java:7)
	at konstd.KonStd_.<init>(KonStd_.java:70)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.executeDBCommand_(DataBase_.java:483)
	at konstd.O1TabelleInit_.fillDataFromDBtoKategorie_(01TabelleInit_.java:421)
	at konstd.O1TabelleInit_.<init>(01TabelleInit_.java:109)
	at konstd.O1TabelleInit_.<clinit>(01TabelleInit_.java:14)
	at konstd.O1AuftragListen_$JListInternItemChanged_.valueChanged(01AuftragListen_.java:292)
	at javax.swing.JList.fireSelectionValueChanged(JList.java:1765)
	at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1779)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
	at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
	at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
	at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
	at javax.swing.JList.setSelectedIndex(JList.java:2179)
	at konstd.O1AuftragListen_.<init>(01AuftragListen_.java:48)
	at konstd.O1AuftragListen_.<clinit>(01AuftragListen_.java:14)
	at konstd.O1BuildCard_.<init>(01BuildCard_.java:13)
	at konstd.O1BuildCard_.<clinit>(01BuildCard_.java:7)
	at konstd.KonStd_.<init>(KonStd_.java:70)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.executeDBCommand_(DataBase_.java:483)
	at konstd.O1GleitzeitKonto_.getGZKSummeFromDB_(01GleitzeitKonto_.java:95)
	at konstd.O1GleitzeitKonto_.updateGesamtSaldo_(01GleitzeitKonto_.java:65)
	at konstd.O1GleitzeitKonto_.<init>(01GleitzeitKonto_.java:41)
	at konstd.O1GleitzeitKonto_.<clinit>(01GleitzeitKonto_.java:11)
	at konstd.O1BuildCard_.<init>(01BuildCard_.java:17)
	at konstd.O1BuildCard_.<clinit>(01BuildCard_.java:7)
	at konstd.KonStd_.<init>(KonStd_.java:70)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.executeDBCommand_(DataBase_.java:483)
	at konstd.O1UrlaubKonto_.getUrlSummeFromDB_(01UrlaubKonto_.java:128)
	at konstd.O1UrlaubKonto_.updateGesamtUrlaub_(01UrlaubKonto_.java:95)
	at konstd.O1UrlaubKonto_.<init>(01UrlaubKonto_.java:44)
	at konstd.O1UrlaubKonto_.<clinit>(01UrlaubKonto_.java:11)
	at konstd.O1BuildCard_.<init>(01BuildCard_.java:18)
	at konstd.O1BuildCard_.<clinit>(01BuildCard_.java:7)
	at konstd.KonStd_.<init>(KonStd_.java:70)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.executeDBCommand_(DataBase_.java:483)
	at konstd.O1UestdKonto_.getWochenSummeFromDB_(01UestdKonto_.java:154)
	at konstd.O1UestdKonto_.calcWochenￜSt_(01UestdKonto_.java:93)
	at konstd.O1UestdKonto_.updateAllButtonText_(01UestdKonto_.java:182)
	at konstd.O1UestdKonto_.<init>(01UestdKonto_.java:54)
	at konstd.O1UestdKonto_.<clinit>(01UestdKonto_.java:12)
	at konstd.O1BuildCard_.<init>(01BuildCard_.java:19)
	at konstd.O1BuildCard_.<clinit>(01BuildCard_.java:7)
	at konstd.KonStd_.<init>(KonStd_.java:70)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.executeDBCommand_(DataBase_.java:483)
	at konstd.O1UestdKonto_.getￜStSummeFromDB_(01UestdKonto_.java:117)
	at konstd.O1UestdKonto_.updateAllButtonText_(01UestdKonto_.java:183)
	at konstd.O1UestdKonto_.<init>(01UestdKonto_.java:54)
	at konstd.O1UestdKonto_.<clinit>(01UestdKonto_.java:12)
	at konstd.O1BuildCard_.<init>(01BuildCard_.java:19)
	at konstd.O1BuildCard_.<clinit>(01BuildCard_.java:7)
	at konstd.KonStd_.<init>(KonStd_.java:70)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.getColumnValuesFromDB_(DataBase_.java:115)
	at konstd.O2AuftragKatInput_.fillAuftragCombFromDB_(02AuftragKatInput_.java:88)
	at konstd.O2AuftragKatInput_.<init>(02AuftragKatInput_.java:21)
	at konstd.O2AuftragKatInput_.<clinit>(02AuftragKatInput_.java:12)
	at konstd.O2TagesInput_.<init>(02TagesInput_.java:102)
	at konstd.O2TagesInput_.<clinit>(02TagesInput_.java:12)
	at konstd.O2BuildCard_.<init>(02BuildCard_.java:22)
	at konstd.O2BuildCard_.<clinit>(02BuildCard_.java:8)
	at konstd.KonStd_.<init>(KonStd_.java:75)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.getFilterRowSetFromDB_(DataBase_.java:183)
	at konstd.O3TagesTabelle_.fillTableFromDB_(03TagesTabelle_.java:39)
	at konstd.O3PaintTabelle_.updateData_(03PaintTabelle_.java:37)
	at konstd.O3PaintTabelle_.<init>(03PaintTabelle_.java:32)
	at konstd.O3PaintTabelle_.<clinit>(03PaintTabelle_.java:11)
	at konstd.O3BuildCard_.<init>(03BuildCard_.java:111)
	at konstd.O3BuildCard_.<clinit>(03BuildCard_.java:10)
	at konstd.KonStd_.<init>(KonStd_.java:77)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.getFilterRowSetFromDB_(DataBase_.java:258)
	at konstd.O3AuftragTabelle_.getDataBasicFromDB_(03AuftragTabelle_.java:55)
	at konstd.O3AuftragTabelle_.fillTableFromDB_(03AuftragTabelle_.java:130)
	at konstd.O3PaintTabelle_.updateData_(03PaintTabelle_.java:38)
	at konstd.O3PaintTabelle_.<init>(03PaintTabelle_.java:32)
	at konstd.O3PaintTabelle_.<clinit>(03PaintTabelle_.java:11)
	at konstd.O3BuildCard_.<init>(03BuildCard_.java:111)
	at konstd.O3BuildCard_.<clinit>(03BuildCard_.java:10)
	at konstd.KonStd_.<init>(KonStd_.java:77)
	at konstd.KonStd_.main(KonStd_.java:104)
DriverManager.getConnection("jdbcdbcriver={Microsoft Access Driver (*.mdb)};DBQ=C:\Programme\Java\Progs\KonStd\RunTime\SystemDataBase.mdb;DriverID=22;READONLY=false}")
    trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@929206]
*Driver.connect (jdbcdbcriver={Microsoft Access Driver (*.mdb)};DBQ=C:\Programme\Java\Progs\KonStd\RunTime\SystemDataBase.mdb;DriverID=22;READONLY=false})
JDBC to ODBC Bridge: Checking security
No SecurityManager present, assuming trusted application/applet
Allocating Connection handle (SQLAllocConnect)
hDbc=60368248
Connecting (SQLDriverConnect), hDbc=60368248, szConnStrIn=Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Programme\Java\Progs\KonStd\RunTime\SystemDataBase.mdb;DriverID=22;READONLY=false}
*Connection.getMetaData
*DatabaseMetaData.getDriverName
Get connection info string (SQLGetInfo), hDbc=60368248, fInfoType=6, len=300
odbcjt32.dll
*DatabaseMetaData.getDriverVersion
Get connection info string (SQLGetInfo), hDbc=60368248, fInfoType=7, len=300
04.00.6305
*DatabaseMetaData.getDriverName
Get connection info string (SQLGetInfo), hDbc=60368248, fInfoType=6, len=300
odbcjt32.dll
Driver name:    JDBC-ODBC Bridge (odbcjt32.dll)
*DatabaseMetaData.getDriverVersion
Get connection info string (SQLGetInfo), hDbc=60368248, fInfoType=7, len=300
04.00.6305
Driver version: 2.0001 (04.00.6305)
Caching SQL type information
*Connection.getMetaData
*DatabaseMetaData.getTypeInfo
Allocating Statement Handle (SQLAllocStmt), hDbc=60368248
hStmt=60367456
Get type info (SQLGetTypeInfo), hStmt=60367456, fSqlType=0

Number of result columns (SQLNumResultCols), hStmt=60367456
value=19
Get connection info string (SQLGetInfo), hDbc=60368248, fInfoType=10, len=300
03.52.0000
Fetching (SQLFetch), hStmt=60367456
Column attributes (SQLColAttributes), hStmt=60367456, icol=1, type=2
value (int)=12
Column attributes (SQLColAttributes), hStmt=60367456, icol=1, type=3
value (int)=128
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
GUID
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-11
Get integer data (SQLGetData), hStmt=60367456, column=3
value=36
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BIT
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-7
Get integer data (SQLGetData), hStmt=60367456, column=3
value=1
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BYTE
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-6
Get integer data (SQLGetData), hStmt=60367456, column=3
value=3
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BIGBINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-4
Get integer data (SQLGetData), hStmt=60367456, column=3
value=4000
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
LONGBINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-4
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
VARBINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-3
Get integer data (SQLGetData), hStmt=60367456, column=3
value=510
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
BINARY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-2
Get integer data (SQLGetData), hStmt=60367456, column=3
value=510
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
LONGCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-1
Get integer data (SQLGetData), hStmt=60367456, column=3
value=1073741823
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
LONGCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=-1
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
CHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=1
Get integer data (SQLGetData), hStmt=60367456, column=3
value=255
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
CHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=1
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
CURRENCY
Get integer data (SQLGetData), hStmt=60367456, column=2
value=2
Get integer data (SQLGetData), hStmt=60367456, column=3
value=19
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
DECIMAL
Get integer data (SQLGetData), hStmt=60367456, column=2
value=2
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
COUNTER
Get integer data (SQLGetData), hStmt=60367456, column=2
value=4
Get integer data (SQLGetData), hStmt=60367456, column=3
value=10
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
INTEGER
Get integer data (SQLGetData), hStmt=60367456, column=2
value=4
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
SMALLINT
Get integer data (SQLGetData), hStmt=60367456, column=2
value=5
Get integer data (SQLGetData), hStmt=60367456, column=3
value=5
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
REAL
Get integer data (SQLGetData), hStmt=60367456, column=2
value=7
Get integer data (SQLGetData), hStmt=60367456, column=3
value=7
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
DOUBLE
Get integer data (SQLGetData), hStmt=60367456, column=2
value=8
Get integer data (SQLGetData), hStmt=60367456, column=3
value=15
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
DATETIME
Get integer data (SQLGetData), hStmt=60367456, column=2
value=11
Get integer data (SQLGetData), hStmt=60367456, column=3
value=19
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
VARCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=12
Get integer data (SQLGetData), hStmt=60367456, column=3
value=255
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=1, maxLen=129
VARCHAR
Get integer data (SQLGetData), hStmt=60367456, column=2
value=12
Fetching (SQLFetch), hStmt=60367456
End of result set (SQL_NO_DATA)
*ResultSet.close
Free statement (SQLFreeStmt), hStmt=60367456, fOption=1
*ResultSet has been closed
Get connection info (SQLGetInfo), hDbc=60368248, fInfoType=44
 int value=19
Get connection info (SQLGetInfo), hDbc=60368248, fInfoType=168
 int value=1
Get connection info (SQLGetInfo), hDbc=60368248, fInfoType=151
 int value=127
Get connection info (SQLGetInfo), hDbc=60368248, fInfoType=121
 int value=0
Get connection info (SQLGetInfo), hDbc=60368248, fInfoType=120
 int value=0
Get connection info (SQLGetInfo), hDbc=60368248, fInfoType=153
 int value=2
getConnection returning driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@929206]
*Connection.createStatement
Allocating Statement Handle (SQLAllocStmt), hDbc=60368248
hStmt=60367456
Setting statement option (SQLSetStmtOption), hStmt=60367456, fOption=6, vParam=0
Setting statement option (SQLSetStmtOption), hStmt=60367456, fOption=7, vParam=1
Registering Statement sun.jdbc.odbc.JdbcOdbcStatement@5329c5
*Statement.executeQuery (SELECT * FROM Kategorien)
*Statement.execute (SELECT * FROM Kategorien)
Free statement (SQLFreeStmt), hStmt=60367456, fOption=0
Executing (SQLExecDirect), hStmt=60367456, szSqlStr=SELECT * FROM Kategorien
Number of result columns (SQLNumResultCols), hStmt=60367456
value=3
Number of result columns (SQLNumResultCols), hStmt=60367456
value=3
*ResultSet.getMetaData
Fetching (SQLFetch), hStmt=60367456
Column attributes (SQLColAttributes), hStmt=60367456, icol=3, type=2
value (int)=12
Column attributes (SQLColAttributes), hStmt=60367456, icol=3, type=3
value (int)=250
Get string data (SQLGetData), hStmt=60367456, column=3, maxLen=251
Diverse T￤tigkeiten ohne bestimmte Auftragzugeh￶rigkeit
Column attributes (SQLColAttributes), hStmt=60367456, icol=2, type=2
value (int)=12
Column attributes (SQLColAttributes), hStmt=60367456, icol=2, type=3
value (int)=50
Get string data (SQLGetData), hStmt=60367456, column=2, maxLen=51
DIV
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=3, maxLen=251
Verschiedene T￤tigkeiten f r Auftr￤ge
Get string data (SQLGetData), hStmt=60367456, column=2, maxLen=51
VER
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=3, maxLen=251
Arbeiten f r Instandhaltung, Einf hrung, Wartung, Schulung der EDV-Anlage
Get string data (SQLGetData), hStmt=60367456, column=2, maxLen=51
EDV
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=3, maxLen=251
Konstruktionst￤tigkeiten f r Auftrag, mit CAD-System
Get string data (SQLGetData), hStmt=60367456, column=2, maxLen=51
KON
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=3, maxLen=251
Arbeitsvorbereitung, Pollex, Fertigungsauftr￤ge
Get string data (SQLGetData), hStmt=60367456, column=2, maxLen=51
AVO
Fetching (SQLFetch), hStmt=60367456
Get string data (SQLGetData), hStmt=60367456, column=3, maxLen=251
Dokumentation, Ersatzteillisten
Get string data (SQLGetData), hStmt=60367456, column=2, maxLen=51
DOK
Fetching (SQLFetch), hStmt=60367456

Get string data (SQLGetData), hStmt=60367456, column=3, maxLen=251
Machbarkeitspr fung f r Angebote, Angebote ausarbeiten
Get string data (SQLGetData), hStmt=60367456, column=2, maxLen=51
MAP
Fetching (SQLFetch), hStmt=60367456
End of result set (SQL_NO_DATA)
*ResultSet.close
*ResultSet has been closed
*Statement.close
Free statement (SQLFreeStmt), hStmt=60367456, fOption=1
deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@5329c5
*Connection.close
0 Statement(s) to close
Disconnecting (SQLDisconnect), hDbc=60368248
Closing connection (SQLFreeConnect), hDbc=60368248
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.getFilterRowSetFromDB_(DataBase_.java:146)
	at konstd.URLGZKontoTable_.fillTable_(URLGZKontoTable_.java:214)
	at konstd.O5_0510_Build_.<init>(05_0510_Build_.java:46)
	at konstd.O5_0510_Build_.<clinit>(05_0510_Build_.java:16)
	at konstd.O5PropertiesCard_.<init>(05PropertiesCard_.java:27)
	at konstd.O5PropertiesCard_.<clinit>(05PropertiesCard_.java:11)
	at konstd.KonStd_.<init>(KonStd_.java:79)
	at konstd.KonStd_.main(KonStd_.java:104)
ResultSet.finalize sun.jdbc.odbc.JdbcOdbcResultSet@982589
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.getFilterRowSetFromDB_(DataBase_.java:146)
	at konstd.URLGZKontoTable_.fillTable_(URLGZKontoTable_.java:214)
	at konstd.O5_0520_Build_.<init>(05_0520_Build_.java:47)
	at konstd.O5_0520_Build_.<clinit>(05_0520_Build_.java:17)
	at konstd.O5PropertiesCard_.<init>(05PropertiesCard_.java:28)
	at konstd.O5PropertiesCard_.<clinit>(05PropertiesCard_.java:11)
	at konstd.KonStd_.<init>(KonStd_.java:79)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.getFilterRowSetFromDB_(DataBase_.java:146)
	at konstd.URLGZKontoTable_.fillTable_(URLGZKontoTable_.java:214)
	at konstd.O5_0530_Build_.<init>(05_0530_Build_.java:43)
	at konstd.O5_0530_Build_.<clinit>(05_0530_Build_.java:13)
	at konstd.O5PropertiesCard_.<init>(05PropertiesCard_.java:29)
	at konstd.O5PropertiesCard_.<clinit>(05PropertiesCard_.java:11)
	at konstd.KonStd_.<init>(KonStd_.java:79)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 
javax.sql.rowset.RowSetWarning
	at com.sun.rowset.CachedRowSetImpl.<init>(CachedRowSetImpl.java:365)
	at com.sun.rowset.WebRowSetImpl.<init>(WebRowSetImpl.java:68)
	at com.sun.rowset.FilteredRowSetImpl.<init>(FilteredRowSetImpl.java:41)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at konstd.DataBase_.getFilterRowSetFromDB_(DataBase_.java:146)
	at konstd.O1TabelleInit_.newTableFromDB_(01TabelleInit_.java:355)
	at konstd.KonStd_.<init>(KonStd_.java:94)
	at konstd.KonStd_.main(KonStd_.java:104)
SQLWarning: 


Danke schon mal im Voraus
HaGs


----------



## thE_29 (17. Nov 2008)

Den 1. Fehler den du schon mal machst ist interne Sun Klasse zu nehmen!
Nimm also keine FilteredRowSet etc.. Klassen!

Am besten hier mal einlesen!
http://openbook.galileocomputing.de...22_006.htm#mj6ec99d318d52429d71fb82aa915feac1

Ich glaub du verwendest einfach Dinger die du nicht nehmen solltest.


----------



## HaGs (17. Nov 2008)

Hallo thE_29,

erstmal Danke für deine Antworten.

Das Tutorial habe ich schon mehrmals gelesen. Drei Kapitel weiter wird aber die Verwendung von FilteredRowSetImpl und CachedRowSetImpl beschrieben, niergens steht das man es nicht verwenden darf, es gibt hier auch keinen Hinweis, dass das "com.sun.rowset..." importiert werden muss!
Auch in vielen anderen Internet Tut's gibt es beispiele mit FilteredRowSetImpl und CachedRowSetImpl.

Ich will das FilteredRowSetImpl benutzen, um ein Datenset über die Benutzerführung feiner filtern zu können und um die Zugriffe auf die DB zu reduzieren.
Das ResultSet würde mir ja genügen, nur hier kann ich nicht filtern.

* Welche gleichwertige Alternativen gibt es zu FilteredRowSetImpl und CachedRowSetImpl ?
Komisch ist ja dass es ein FilteredRowSet im Paket "javax.sql.rowset" als Interface gibt, es fehlt nur die Implementation,  diese ist wiederum in "com.sun.rowset.FilteredRowSetImpl", nur diese sollte man ja nicht verwenden!

* Wie kann ich das "javax.sql.rowset.FilteredRowSet" in mein Projekt implementieren ?
Wenn ich über NetBean die Methoden einfügen lasse, dann sind das sehr sehr viele leere Methoden!!!!!!

* Würde das Einbinden des Package "jdbc_rowset_tiger1.0.1mrel-ri" was bringen ?
* Kann es sein das meine Version des JDBCTreiber oder der msjet40.dll nicht kompatibel ist ?
* Kann es daran liegen, dass ich MS Access 2000 verwende ?

Gruß HaGs


----------



## thE_29 (18. Nov 2008)

So, gerade mal geguckt!
Anscheinend sind das ja neue Java 1.5 Klassen.

Die Frage ist halt ob die Implementierung für Access ausreicht/überhaupt da ist. Das man auf interne Sun Klassen zugreift ist eigentlich nie der Fall..

Was willst du den Filtern? Den generell sollte eher die DB BELASTET werden und nicht das Programm.
Dbs, sollten so gut sein gewisse Aktionen viel schneller zu machen. Ob das bei Access halt zutrifft ist ne andere Frage.


----------



## FenchelT (18. Nov 2008)

Hallo Hags,

Du solltest anstatt com.sun.......FilteredRowSet besser javax.sql.rowset.FilteredRowSet implementieren.

Dann brauchst Du noch einen Filter, der Predicate implementiert

Beispiel:


```
import java.sql.SQLException;
import javax.sql.RowSet;
import javax.sql.rowset.FilteredRowSet;
import javax.sql.rowset.Predicate;


public class MyFilter implements Predicate
{
	private String searchString = null;
	private String columnName = null;

	
	public MyFilter(String searchString, String columnName)
	{
		this.searchString = searchString;
		this.columnName = columnName;
	}
	
	public MyFilter()
	{
		
	}

	
	
	public boolean evaluate(Object arg0, int arg1) throws SQLException {
		System.out.println("Oho");
		
		
		return false;
	}


	public boolean evaluate(Object arg0, String arg1) throws SQLException {
		System.out.println("Aha");
		return false;
	}




	public boolean evaluate(RowSet rs) //throws javax.sql.rowset.Predicate.evaluate.SQLException
	{
		
		if (rs == null) 
		{
			System.out.println("Debug1");
			return false;
		}
		
		
		FilteredRowSet frs = (FilteredRowSet) rs;
		boolean evaluation = false;
		
		
		try 
		{
			//System.out.println("Debug2");
			String columnValue = frs.getString(this.columnName);
  
			if (columnValue != null)
			{
				
				if (columnValue.contains(this.searchString)) 
				{
					evaluation = true;
				}
			}
			
			
		
		} 
		catch (SQLException e) 
		{
			/*
			System.out.println("evaluate: " +e.getMessage() + "\n" + e.getStackTrace());
			e.getNextException();
			System.out.println("evaluate: " +e.getMessage() + "\n" + e.getStackTrace());
			*/
			
			
			while (e != null) {
				    System.err.println(e.toString());
				    System.err.println("SQL-State: " + e.getSQLState());
				    System.err.println("ErrorCode: " + e.getErrorCode());
				    e = e.getNextException();
				  }
				  
			
			return false;
		}
		
		
		return evaluation;
	}

}
```

Und dann im Code


```
String sql ="select feld_1, feld_2, feld_n from deine_tabelle ";
		String searchString = dein_Suchbegriff;
		String searchColumnName = deine_spalte_in_der_gesucht_werden_soll;
		
		MyFilter filter = new MyFilter(searchString, searchColumnName);
		
		try
		{			
			this.frs.beforeFirst();
			this.frs.setFilter(filter);
			
                }
```


MIch wuerde es aber wundern, wenn das wirklich mit Access funktioniert (hat).
Mit MSSQL schon


----------



## HaGs (18. Nov 2008)

Hallo,

Danke Euch.

thE_29:

Na ja, MS-Access habe genommen, weil es jeder User auf seinem PC hat, man kann schnell überprüfen ob die Daten stimmen, man kann schnell Massenänderungen vornehmen, oder zum Testen ein paar Daten kopieren usw.
Den Filter habe ich eingebaut, um die Datenzugriffe auf die DB zu minimieren, und um aus dem Datenset einzelne Daten zu filtern (für Uhrzeit-Summen, Anzahl der Ergebnisszeilen usw).

FenchelT:

Den Filter und das Aufrufen/Setzen des Filter habe ich ja schon. Es hat bisher mit der JRE1.6.0_02 alles Funktioniert. Ab jetzt mit JRE1.6.0_07 bekomme ich kein FilteredRowSet mehr.

Also das frs bekomme ich folgendermaßen:

Ich habe die Klasse DataBase_, mit der Methode,


```
import java.sql.*;
import javax.sql.rowset.*;
import com.sun.rowset.FilteredRowSetImpl;
import javax.swing.*;
....
....
....

public FilteredRowSet getFilterRowSetFromDB_(String dbName_, String userTyp_, String column_, String comp_, String sortCol_) {
    userName_=userTyp_.equals("localUser") ? localeUserName_ : "%";
    try {
    FilteredRowSet frs_=new FilteredRowSetImpl();//aus com.sun.rowset.FilteredRowSetImpl;
    if(dbName_.equals("dbSystem") && systDBexists_) {
      frs_.setUrl(jdbcStringSystemDB_() );
      frs_.setCommand("SELECT * FROM AuftragDataMaster WHERE "+column_+" Like '"+comp_+
                      "' AND "+column_+" IS NOT NULL ORDER BY "+sortCol_ );
      frs_.close();
      frs_.execute();//Hier ist die Fehlermeldung "java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optionales Feature wurde nicht implementiert."

      //
    } else if(dbName_.equals("UserDataMaster") && userDBexists_) {
      frs_.setUrl(jdbcStringUserDB_());
      frs_.setCommand("SELECT * FROM UserDataMaster WHERE UserName Like '"+userName_+
                      "' AND "+column_+" Like '"+comp_+
                      "' AND "+column_+" IS NOT NULL ORDER BY "+sortCol_ );
      frs_.close();
      frs_.execute();//Hier ist die Fehlermeldung "java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optionales Feature wurde nicht implementiert."
      //
    } else if(dbName_.equals("dbUserTagesZeiten") && userDBexists_) {
      frs_.setUrl(jdbcStringUserDB_() );
      frs_.setCommand("SELECT * FROM TagesZeiten WHERE UserName Like '"+userName_+
                      "' AND "+column_+" Like '"+comp_+
                      "' AND "+column_+" IS NOT NULL ORDER BY "+sortCol_ );
      frs_.close();
      frs_.execute();//Hier ist die Fehlermeldung "java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optionales Feature wurde nicht implementiert."
      }
    } catch ( Exception e ) { e.printStackTrace(); }
    return result_;
  }//Methode Ende
```


Mit 

```
frsBasis=DataBase_.getInst_().getFilterRowSetFromDB_("UserDataMaster", userTyp_, "DatumS", datum1_, datum2_, "AuftragsNummer")
```
erhalte ich eine Instanz, und mit 

```
filter=new Filter_(colAuftragsNummer, filterAuftr, colKategorie, filterKatego );
    frsBasis.setFilter(filter);
```
setze ich den Filter.

Das hat funktioniert, nur ab der neuesten JRE bekomme ich bei "frs_.execute()" folgende Fehlermeldung:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optionales Feature wurde nicht implementiert.
        at com.sun.rowset.internal.CachedRowSetReader.readData(CachedRowSetReader.java:166)
        at com.sun.rowset.CachedRowSetImpl.execute(CachedRowSetImpl.java:786)
        at com.sun.rowset.CachedRowSetImpl.execute(CachedRowSetImpl.java:1418)
        at konstd.DataBase_.getFilterRowSetFromDB_(DataBase_.java:174) ****Das ist Zeile mit frs_.execute();****
        at konstd.URLGZKontoTable_.fillTable_(URLGZKontoTable_.java:214)
        at konstd.O5_0510_Build_.<init>(05_0510_Build_.java:46)
        at konstd.O5_0510_Build_.<clinit>(05_0510_Build_.java:16)
        at konstd.O5PropertiesCard_.<init>(05PropertiesCard_.java:27)
        at konstd.O5PropertiesCard_.<clinit>(05PropertiesCard_.java:11)
        at konstd.KonStd_.<init>(KonStd_.java:79)
        at konstd.KonStd_.main(KonStd_.java:104)

Gibt es zum "FilteredRowSet frs_=new FilteredRowSetImpl()" in meiner Methode eine Umgehungsmöglichkeit, damit ich die "com.sun.rowset.FilteredRowSetImpl" nicht mehr nehmen muss?

Gruß HaGs


----------



## maki (18. Nov 2008)

Die OBDC-JDBC Krücke sollte nicht  in Produktion verwendet werden, war nie mehr als eine Demo als noch keine JDBC Treiber gab und JDBC gerade bei Version 1.0 angeklommen war.


----------



## thE_29 (19. Nov 2008)

@Hags: Wie FenchelIT schon beschrieben hat!

DU MUSST den FilteredRowSet selbst implementieren! Oder du hast ein Treiberpaket wo das für dich gemacht wird.

Anscheinend ist die sun Klasse irgendwas und funktioniert nicht richtig.
Also entweder selbst implementieren oder eine von einem Treiberpaket nehmen (wirds für Access, bzw der ODBC Bridge nicht geben) oder es einfach nicht benutzen!


----------



## HaGs (24. Nov 2008)

Hallo ans Forum,

ich habs jetzt rausgefunden.
Es ist die " .execute()" Methode aus der "com.sun.rowset.FilteredRowSetImpl" die in der neuesten JRE nich mehr funktioniert. Ich habs durch die " .populate(ResultSet rs)" ersetzt, und siehe da es läuft wieder.
Ich muss nur vorher ein ResultSet erzeugen und das dann an "frs.populate(rs)" übergeben.
Ich bin nur gespannt, bis zu welcher zukünftigen JRE-Version es dann funktioniert.

Danke an Alle die mir geantwortet haben.

Gruß HaGs.


----------

