Следующее отлично работает в CFMX 7 и CF8, и я бы также предположил, что CF9:
<!--- '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() />
Это создает оператор с использованием драйвера JDBC, выполняет запрос к нему, помещает его в набор результатов Java, а затем создается экземпляр coldfusion.sql.QueryTable, передается объект результата Java, а затем вызывается queryTable.FirstTable () , который возвращает фактический набор результатов холодной сварки (для cfloop и т. п.).
Проблема связана с различием в реализации Railo. Запуск этого кода в Railo возвращает следующую ошибку: Не найдено соответствующего конструктора для coldfusion.sql.QueryTable (org.sqlite.RS).
Я сбросил Java-объект Railo и не вижу init () среди методов. Я что-то упустил? Я бы тоже хотел, чтобы это работало в Railo.
Обратите внимание: я выполняю подключение без DSN к базе данных SQLite. Я понимаю, как настроить источник данных CF. На данный момент мой единственный сбой - перевод из набора результатов Java в запрос Railo.