Les travaux suivants fins dans CFMX 7 et CF8, et je suppose CF9 ainsi:Comment convertir un jeu de résultats Java en requête ColdFusion dans Railo?
<!--- 'conn' is a JDBC connection --->
<cfset stat = conn.createStatement() />
<cfset rs = stat.executeQuery(trim(arguments.sql)) />
<!--- convert this Java resultset to a CF query recordset --->
<cfset queryTable = CreateObject("java", "coldfusion.sql.QueryTable")>
<cfset queryTable.init(rs) >
<cfset query = queryTable.FirstTable() />
Cela crée une instruction à l'aide d'un pilote JDBC, exécute une requête contre elle, le mettre dans un resultset java, puis coldfusion.sql.QueryTable est instancié, passé l'objet resulset Java, puis queryTable.FirstTable() est appelé, ce qui renvoie un resultset coldfusion réel (pour cfloop et similaires).
Le problème vient d'une différence dans la mise en œuvre de Railo. L'exécution de ce code dans Railo renvoie l'erreur suivante: Aucun constructeur correspondant à coldfusion.sql.QueryTable (org.sqlite.RS) trouvé.
J'ai jeté l'objet java Railo et je ne vois pas init() parmi les méthodes. Est-ce que je manque quelque chose de simple? J'aimerais aussi que cela fonctionne dans Railo.
Veuillez noter: Je fais une connexion sans DSN à une base de données SQLite. Je comprends comment configurer une source de données CF. Mon seul hiccup à ce stade est de faire la traduction d'un ensemble de résultats Java à une requête Railo.
Cela peut être une question stupide - mais pourquoi n'utilisez-vous pas une source de données ColdFusion régulière et '' pour créer un résultat de requête? –
Tomalak
Voir: http://www.coldfusionjedi.com/index.cfm/2009/9/24/Hooking-up-ColdFusion-and-SQLite – Tomalak
C'est probablement parce que QueryTable est une interface dans Railo. Donc vous ne pouvez pas l'instancier. (C'est une classe concrète dans Adobe CF). Je ne sais pas quelle classe concrète Railo utilise pour les requêtes, ou si elle est similaire à QueryTable dans Adobe CF. Mais, comme mentionné, est-il une raison pour laquelle vous ne pouvez pas utiliser une requête régulière? – Leigh