2016-09-18 3 views
0

Der Versuch, die Metadaten der Spalte aus den Metadaten der Verbindung/Datenbank abzurufen. Irgendeine Möglichkeit, rs.beforeFirst() oder irgendeine Alternative zu verwenden, um den Cursor zurück zu bewegen?ojdbc: tomcat/weblogic: Zurücksetzen des Fehlers für die Verbindungsmetadaten

Es folgt Codefragment:

ResultSet rs= read_conn.getMetaData().getColumns(null, null, 
sourceTableName.toUpperCase(), null); 

while (rs.next()){ ... } 

rs.beforeFirst(); /* Error:17075. Assuming DatabaseMetaData's resultset is 
ResultSet.TYPE_FORWARD_ONLY*/ 

Referenz:

  • DatabaseMetaData

  • Verbindung geöffnet/konfiguriert Verwendung JNDI Datasource auf Tomcat 7/8 und WebLogic 11/12.

Antwort

1

Fromm ResultSet Java docs

Ein Standard ResultSet Objekt ist nicht aktualisierbar und hat einen Cursor, der nur vorwärts bewegt.

So rs.beforeFirst() sollte zunächst wie folgt verwendet werden:

rs.beforeFirst(); 
while (rs.next()) { 
    String id = rs.getString("id"); 
} 
+0

Voraussetzung ist, iteriert die DatabaseMetaData bezogen getColumns mehrmals. Also jede Möglichkeit, Standardeinstellungen von Forwards-Only zu scroll-insensitive zu ändern, spezifisch für eine, die erzeugt wird durch: read_conn.getMetaData(). GetColumns (...); – user983549

Verwandte Themen