Hi Markus,
danke vorllem für deine Antwort,
ich benutze oracle 10g XE, und jdeveloper 10 auch…
zurück zu meinem Problem,
in meinem sql kommando wenn ich „explain plan for select * from student“ eingebe, da krige ich denn die ausgabe „explain plan ausgeführt“
da ist die Klasse :
mport java.sql.*;
import java.sql.SQLException;
import oracle.jdbc.*;
import oracle.jdbc.driver.*;
import oracle.jdbc.driver.OracleDriver;
public class HRUpdate
{
Connection conn;
Statement stmt;
PreparedStatement pstmt;
public HRUpdate()
{
}
public void initialize() throws Exception
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection(„jdbc:oracle:thin:@localhost:1521:XE“,„username“,„password“);
conn.setAutoCommit(false);
stmt = conn.createStatement();
ResultSet result = stmt.executeQuery(„explain plan for select * from student“);
while(result.next())
{
// System.out.print(result.getInt(1));
System.out.print(result.getString(2));
// System.out.print(result.getString(3));
// System.out.println(result.getDate(4));
}
System.out.println(„i am connected“);
}
public static void main(String[] args) throws Exception
{
HRUpdate update = new HRUpdate();
update.initialize();
}
}
Da krige ich die folgende Fehlermeldung:
java.sql.SQLException: ORA-01002: FETCH auf ungültigen oder geschlossenen Cursor.
ich weiss, dass ich mit result.getString(2) auf der zweiten spalte zugreife, da aber die Ausgabe nur eine Satz ist in diesem Fall (explain plan ausgeführt) soll man nicht mit result.getString(2) zugreifen sondern mit was anders denk ich oder?
ich habe auch den verdacht, dass irgendwas mit dem Query nciht funktioniert obwohl mit der gleichen query im sql Kommando, das Ding tut, hmmmmm?
was denkst du?
und danke nochmal