【发布时间】:2014-12-22 10:58:24
【问题描述】:
我正在尝试在使用 Coldfusion 进行编码的项目中使用 Apache Cassandra。由于 Coldfusion 没有适用于 Apache Cassandra 的驱动程序,反之亦然,因此我正在尝试使用 Cassandra 的 Java 驱动程序。
我几乎是 Java 新手,所以请多多包涵。
我已成功将必要的 .jar 文件复制到 /opt/railo/lib/(我正在使用 Railo),并且还使用以下代码使用 Coldfusion 连接到 Cassandra。我需要帮助的是在运行查询时遍历 Cassandra 返回的结果。我在下面包含了我非常简单的代码:
<cfset MyClusterInit = CreateObject("java", "com.datastax.driver.core.Cluster")>
<cfset MyCluster = MyClusterInit.builder().addContactPoint("127.0.0.1").build()>
<cfset MySession = MyCluster.connect("mytest")>
<cfset GetCustomer = MySession.execute("SELECT * FROM customer")>
<cfdump var="#GetCustomer#">
如何遍历返回的结果? cfdump 返回 Java 方法 ArrayBackedResultSet$SinglePage。这不是我可以使用 Coldfusion 循环的东西。
从“Cassandra 和 Java 入门”帖子中,我看到代码如下:
ResultSet results = session.execute("SELECT * FROM users WHERE lastname='Jones'");
for (Row row : results) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
}
如何在 Coldfusion 中复制上述内容?
非常感谢您抽出宝贵时间提供帮助。
【问题讨论】:
-
我没用过Cassandra,但是只要你有JDBC驱动,你应该可以在Admin界面设置一个“Other”类型的DSN。你试过吗?
-
Leigh 的建议比尝试在 Java 中执行此操作要好。您可能需要实例化其他 Java 对象(示例中的 ResultSet)并读入您的结果,循环使用特定的 Java 方法。同时,JDBC 将为您抽象所有这些,让您使用 cfquery。
-
嘿,利和马克。感谢您的指点。我现在正在试用 Cassandra JDBC 驱动程序,并将更新安装/使用详细信息以帮助其他人。
标签: java coldfusion cassandra cassandra-2.0