следующего штрафа в CFMX 7 и CF8 работа, и я бы предположить CF9, а также:Как конвертировать из набора данных Java в запрос ColdFusion в 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() />
Это создает заявление, используя драйвер JDBC, выполняет запрос к ней, поместив его в Java результирующего, а затем coldfusion.sql.QueryTable создается, передается объект resulset Java, а затем вызывается запросTable.FirstTable(), который возвращает фактический набор результатов для coldfusion (для cfloop и т.п.).
Проблема связана с различием в реализации Railo. Запуск этого кода в Railo возвращает следующую ошибку: не найдено соответствующего конструктора для coldfusion.sql.QueryTable (org.sqlite.RS).
Я сбросил объект Java Railo и не вижу init() среди методов. Я что-то пропустил? Мне бы хотелось, чтобы это работало и в Railo.
Обратите внимание: я использую подключение DSN-less к SQLite db. Я понимаю, как настроить источник данных CF. Моя единственная икота в этот момент делает перевод из набора результатов Java в запрос Railo.
Это может быть глупый вопрос - но почему бы вам не использовать обычный источник данных ColdFusion и '' для создания результата запроса? –
Tomalak
Смотрите: http://www.coldfusionjedi.com/index.cfm/2009/9/24/Hooking-up-ColdFusion-and-SQLite – Tomalak
Возможно, это потому, что QueryTable является интерфейсом в Railo. Поэтому вы не можете создать экземпляр. (Это конкретный класс в Adobe CF). Я не уверен, какой конкретный класс Railo использует для запросов, или если он похож на QueryTable в Adobe CF. Но, как уже упоминалось, есть причина, по которой вы не можете использовать обычный запрос? – Leigh