I seguenti funziona bene in CFMX 7 e CF8, e mi piacerebbe pensare CF9 così:Come si converte da un set di risultati Java a una query ColdFusion in 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() />
Questo genera una dichiarazione utilizzando un driver JDBC, esegue una query contro di esso, metterlo in un gruppo di risultati java, e quindi coldfusion.sql.QueryTable viene istanziato, passato l'oggetto resulset Java e quindi viene chiamato queryTable.FirstTable(), che restituisce un set di risultati coldfusion effettivo (per cfloop e simili).
Il problema si presenta con una differenza nell'implementazione di Railo. L'esecuzione di questo codice in Railo restituisce il seguente errore: Nessun costruttore Constructor corrispondente per coldfusion.sql.QueryTable (org.sqlite.RS) trovato.
Ho scaricato l'oggetto java Railo e non vedo init() tra i metodi. Mi sto perdendo qualcosa di semplice? Mi piacerebbe farlo funzionare anche a Railo.
Nota: sto eseguendo una connessione DSN-less a un db SQLite. Capisco come impostare un datasource CF. Il mio unico problema a questo punto sta facendo la traduzione da un set di risultati Java a una query Rail.
Questa potrebbe essere una domanda stupida - ma perché non si utilizza un'origine dati ColdFusion normale e '' per creare un risultato di query? –
Tomalak
Vedere: http://www.coldfusionjedi.com/index.cfm/2009/9/24/Hooking-up-ColdFusion-and-SQLite – Tomalak
Ciò è probabilmente dovuto al fatto che QueryTable è un'interfaccia in Railo. Quindi non puoi istanziarlo. (È una classe concreta in Adobe CF). Non sono sicuro della classe di Railo utilizzata per le query o se è simile a QueryTable in Adobe CF. Ma, come detto, c'è un motivo per cui non puoi usare una query regolare? – Leigh