# Invalid cursor state



## livedevel (15. Aug 2007)

Hallo zusammen,

ich habe eine java-anwendung die per jdbc auf eine mdb zugreift. Die Anwendung lief jetzt über ein Jahr ohne Probs. 

Merkwürdigerweise bekomme ich nun aber eine exception:


```
ResultSet tempResult = stmt.executeQuery("SELECT id, refBeId, refProId, zeitId FROM proBeRef WHERE zeitId =" +lastZeitId+" AND archiv = 0");
while(tempResult.next()){
   ResultSet tempResultb1 = stmt1.executeQuery("SELECT beId FROM refBewohner WHERE zeitId =" +lastZeitId+" AND id = "+tempResult.getInt("refBeId"));
   ResultSet tempResultp1_1 = stmt2.executeQuery("SELECT proId FROM refProdukte WHERE zeitId =" +lastZeitId+" AND id = "+tempResult.getInt("refProId"));

   tempResultb1.next();
   int beId =  tempResultb1.getInt("beId");
```


```
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
	at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
	at sun.jdbc.odbc.JdbcOdbc.SQLGetDataInteger(JdbcOdbc.java:3812)
	at sun.jdbc.odbc.JdbcOdbcResultSet.getDataInteger(JdbcOdbcResultSet.java:5642)
	at sun.jdbc.odbc.JdbcOdbcResultSet.getInt(JdbcOdbcResultSet.java:585)
	at sun.jdbc.odbc.JdbcOdbcResultSet.getInt(JdbcOdbcResultSet.java:603)
	at dbConnect.DBConnector.importProBeRef(DBConnector.java:1193)
```

DBConnector.java:1193 entspricht der Zeile: int beId =  tempResultb1.getInt("beId");

Wenn ich die SQL-Statements ausgebe bekomme ich eine valid sql abfrabe sammt gefüllten ergebnissen nach der Semantik des Programms!

Mir ist aufgefallen das diese Exception abhängig von der Datenbank ist. Wähle ich eine andere Datei die aber gleich aufgebaut ist, funzt es :-(

Dank für jeglich Hilfe!


----------



## tuxedo (15. Aug 2007)

Bist du dir sicher dass die verwendete mdb nicht "corrupt" ist? "invalid cursor state" sieht für mich irgendwie danach aus, also ob der Zeiger auf eine Zeile im ResultSet eine ungültige Position angibt.

- Alex


----------



## Guest (15. Aug 2007)

Hi, kann ich nicht sagen!

Ich denke des könnte sein das die mdb defekt ist!
Wie kann ich das prüfen, in Access lässt sie sich ohne probs öffnen?

(danke)


----------



## tuxedo (15. Aug 2007)

Kein Plan. Hast du <hier deine preferierte Suchmaschine einsetzen> schon befragt?


----------



## Guest (20. Aug 2007)

hm, die Datei ist ok ich kann sie in access öffnen und reparieren lassen, aber es ändert sich nix! Immernoch Probs mit der DB. :-( ?


----------



## ms (20. Aug 2007)

livedevel hat gesagt.:
			
		

> Mir ist aufgefallen das diese Exception abhängig von der Datenbank ist. Wähle ich eine andere Datei die aber gleich aufgebaut ist, funzt es :-(



Hat diese andere Datenbank auch Daten oder nur die Struktur?


----------



## Guest (20. Aug 2007)

Sie hat Tabellen die teilgefüllt sind.

Ich hatte auch einmal die SQL-Anweisungen ausgegeben und über Access ausgeführ. Dabei wurden keine leeren Ergebnisse zurückgegeben!


----------



## tuxedo (20. Aug 2007)

Such bei bei google nach dem Fehler. Da stößt du unweigerlich auf's SUN-Forum. Da haben einige das gleiche Problem. Vielleicht findest du da die Lösung.

- Alex


----------



## Guest (20. Aug 2007)

jo werd ich machen 

vielen dank vielen dank vielen dank


----------



## tuxedo (20. Aug 2007)

Naja, statt 3mal "vielen dank" zu posten, hättest du lieber gleich <deine preferierte Suchmaschine" Fragen können. Weil ich hab ja auch nix anderes getan. Komm mir gerade vor wie so ne Art Informationsproxy...

Dabei sollte doch die Bedienung von Suchmaschinen heute jedes Kind beherrschen. 

- Alex


----------

