Wenn wir die Abfrage mit Parametern ausführen, die in der vorbereiteten Anweisung kodiert sind, funktioniert es auch gut. Bestätigen Sie, dass die JDBC -Verbindung gut funktioniert. < /p>
Kann jemand helfen, dies zu untersuchen? Wir haben dafür eine Problemumgehung gefunden, aber es wäre wirklich nützlich zu wissen, warum dies nicht funktioniert. < /p>
Ich habe einen sehr ähnlichen Thread gefunden (wie fügt ich in Sybase IQ propreparedStatement (select object_id ()) gefunden, aber niemand lieferte eine akzeptierte und korrekte Antwort dort, daher habe ich beschlossen, eine neue Frage zu erstellen. class = "Lang-Java PrettyPrint-Override">
Code: Select all
Class.forName("com.sybase.jdbc4.jdbc.SybDriver");
PreparedStatement stmt = con.prepareStatement("select * from myView where off = ? and acc = ?");
stmt.setString(1, "260");
stmt.setString(2, "9050V");
ResultSet set = stmt.executeQuery();
< /code>
Die Fehlermeldung lautet: < /strong> < /p>
Exception in thread "main" java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 0.
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.sendQuery(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.sendQuery(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
< /code>
JDBC-Treiber (Maven-Abhängigkeit): < /strong> < /p>
com.sybase
jconn4
7.0