# maximum open cursors exceeded



## Sanix (3. Feb 2006)

Was bedeutet diese Fehlermeldung genau, bzw. was muss ich besser machen? Sie tritt auf wenn ich viele updates hintereinander mache.


----------



## SamHotte (3. Feb 2006)

Probier mal zwischendurch, den Cursor zu schließen (komisch, normal brauchst du eigentlich bei SQL keinen ...).


----------



## Sanix (3. Feb 2006)

Wie mach ich das?


----------



## SamHotte (3. Feb 2006)

Wie hast du sie denn aufgemacht?


----------



## Sanix (3. Feb 2006)

Also ich kapier sowieso nicht was da ein  Cursor soll. Ist ein Update Statement.

conn = DriverManager.getConnection(url, user, password)


----------



## Bleiglanz (3. Feb 2006)

conn.close();

mit dabei?


----------



## Sanix (3. Feb 2006)

Danke, hoffe mal dies wird der Fehler gewesen sein, weil es waren höchstens 5 offene Verbindungen, die nach 30min inaktivität eh getötet werden.


----------



## Guest (3. Feb 2006)

ResultSets bzw. Statements am besten so früh wie möglich schliessen.
z.B.
	
	
	
	





```
PreparedStatement statement = null;
try {
  connection = ...;
  statement = connection.prepareStatement(...);
  ...
  ResultSet resultSet = statement.executeQuery();
  ...
}
catch(SQLException e) {
  Fehlerbehandlung  
}
finally {
  if(statement != null) // ResultSet wird dadurch ebenfalls geschlossen
    try { statement.close(); } catch(Exception e) {}
}
```


----------

