ich den Java-Code-Schnipsel haben:eine Abfragetabelle generieren gelingt in Coldfusion aber nicht in Java
import coldfusion.runtime.Struct;
import java.sql.ResultSet;
import java.sql.SQLException;
import oracle.jdbc.OracleCallableStatement;
public class CursorTest {
public static Struct getCursor() throws SQLException {
OracleCallableStatement statement = null;
Struct variables = new Struct();
// prepare statement with a cursor out parameter
ResultSet results = statement.getCursor(1);
variables.put ("cursor", results);
return variables;
}
}
Einschließlich der cfusion.jar
und den Hotfix Gläser aus dem Coldfusion lib
Directoy und Oracle ojdbc6.jar
in den Build-Pfad.
Ich kann es in Coldfusion laufen:
<cfscript>
vars = createObject('java', 'CursorTest').getCursor();
cursor = createObject('java', 'coldfusion.sql.QueryTable')
.init(vars.cursor)
.firstTable();
WriteDump(cursor);
// close the statement and connection.
</cfscript>
Dies funktioniert und die QueryTable
erstellt wird.
jedoch versucht, die Erzeugung des QueryTable
in den Java-Code zu verschieben:
import coldfusion.runtime.Struct;
import coldfusion.sql.QueryTable;
import coldfusion.sql.Table;
import java.sql.ResultSet;
import java.sql.SQLException;
import oracle.jdbc.OracleCallableStatement;
public class CursorTest {
public static Struct getCursor() throws SQLException {
OracleCallableStatement statement = null;
Struct variables = new Struct();
// prepare statement with a cursor out parameter
ResultSet results = statement.getCursor(1);
Table table = new QueryTable(results).firstTable();
variables.put ("cursor", table);
return variables;
}
}
mit aufzubauen schlägt fehl:
error: cannot access QueryTableWrapper
Table table = new QueryTable(results).firstTable();
^
class file for coldfusion.runtime.QueryTableWrapper not found
Nun ist der Fehler selbsterklärend und Auspacken der Jar-Dateien zeigt, dass diese Datei nicht vorhanden ist ... Ich kann sie jedoch nicht in den anderen Jar-Dateien finden, die sich im ColdFusion-Lib-Verzeichnis, im ColdFusion-JRE-Verzeichnis oder in anderen Jars befinden, die sich im ColdFusion-Klassenpfad befinden.
Weiß jemand, wo diese Datei liegt, damit ich sie in den Build-Pfad aufnehmen kann, oder alternativ, wie ColdFusion die QueryTable
mit createObject
ohne diesen Wrapper erzeugt?
Versuchen Sie, ColdFusion-Bibliotheken im Kontext einer Java-Anwendung aufzurufen? –
@ AdrianJ.Moreno Das Gegenteil, Java-Code in einer ColdFusion-Anwendung verwenden. – MT0
Es wird wahrscheinlich versucht, eine ColdFusion "neu" im Gegensatz zu einer Java "neu" zu machen. Könnte sein? –