Các công việc sau tốt trong CFMX 7 và CF8, và tôi muốn giả CF9 cũng như:Làm cách nào để chuyển đổi từ kết quả Java sang truy vấn ColdFusion trong 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() />
Điều này tạo ra một tuyên bố bằng cách sử dụng trình điều khiển JDBC, thực hiện một truy vấn chống lại nó, đưa nó vào một resultset java, và sau đó coldfusion.sql.QueryTable được khởi tạo, thông qua đối tượng resulset Java, và sau đó queryTable.FirstTable() được gọi, trả về một kết quả coldfusion thực tế (cho cfloop và tương tự).
Sự cố xảy ra với sự khác biệt trong triển khai của Railo. Chạy mã này trong Railo trả về lỗi sau: Không tìm thấy Constructor phù hợp cho coldfusion.sql.QueryTable (org.sqlite.RS).
Tôi đã bỏ đối tượng Railo java và không thấy init() trong số các phương thức. Tôi thiếu một cái gì đó đơn giản? Tôi cũng muốn làm việc này ở Railo.
Xin lưu ý: Tôi đang thực hiện kết nối DSN-less với db SQLite. Tôi hiểu cách thiết lập nguồn dữ liệu CF. Nấc cụt duy nhất của tôi vào thời điểm này là thực hiện việc dịch từ một kết quả Java được đặt thành một truy vấn Railo.
Đây có thể là câu hỏi ngớ ngẩn - nhưng tại sao bạn không sử dụng nguồn dữ liệu Coldfusion thông thường và '' để tạo kết quả truy vấn? –
Tomalak
Xem: http://www.coldfusionjedi.com/index.cfm/2009/9/24/Hooking-up-ColdFusion-and-SQLite – Tomalak
Đó có lẽ là do QueryTable là một giao diện trong Railo. Vì vậy, bạn không thể khởi tạo nó. (Đây là một lớp cụ thể trong Adobe CF). Tôi không chắc chắn những gì lớp bê tông Railo sử dụng cho các truy vấn, hoặc nếu nó tương tự như QueryTable trong Adobe CF. Nhưng, như đã đề cập, có một lý do bạn không thể sử dụng truy vấn thông thường không? – Leigh