c语言sscanf函数的用法是什么
276
2022-12-02
JDBC读取SciDB数据
SciDB一个典型的Array Database,官网地址: 我使用的SciDB版本是14.12,JDK版本为1.7。 依赖的JDBC的jar包可从 此外,还需要Google的protolib库,版本为2.4.1。
代码如下:
package cn.tzy.scidb;import org.scidb.jdbc.IResultSetWrapper;import java.sql.*;public class Main { public static void main(String[] args) { try { Class.forName("org.scidb.jdbc.Driver"); } catch (ClassNotFoundException ex) { System.out.println("Driver is not in the CLASSPATH -> " + ex); } String iqueryHost = "127.0.0.1"; String iqueryPort = "1239"; String arrayName = "landsat_wuhan"; try { String url = "jdbc:scidb://" + iqueryHost + ":" + iqueryPort + "/"; Connection conn = DriverManager.getConnection(url); ResultSet res; try (Statement st = conn.createStatement()) { res = st.executeQuery("select * from " + arrayName); } ResultSetMetaData meta = res.getMetaData(); System.out.println("Source array name: " + meta.getTableName(0)); System.out.println(meta.getColumnCount() + " columns:"); IResultSetWrapper resWrapper = res.unwrap(IResultSetWrapper.class); // 输出Array的元数据 for(int i = 1; i <= meta.getColumnCount(); ++i) { System.out.println(meta.getColumnName(i) + " - " + meta.getColumnTypeName(i) + " - is attribute:" + resWrapper.isColumnAttribute(i)); } int count = 0; // 输出Array的前10行数据 while(!res.isAfterLast() && count < 10) { System.out.println(res.getLong(1) + " " + res.getLong(2) + " " + res.getShort(3)); res.next(); count++; } } catch (SQLException ex) { System.out.println(ex);
输出结果如下:
Source array name: landsat_wuhan@13 columns:y - int64 - is attribute:falsex - int64 - is attribute:falseband1 - uint8 - is attribute:true0 0 00 1 00 2 00 3 00 4 00 5 00 6 00 7 00 8 00 9 0
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~