「问答收集贴」偶数科技OushuDB编程接口
偶数科技 OushuDB 编程接口
偶数科技 OushuDB 编程接口
因为 OushuDB 和 PostgreSQL 兼容,所以可以使用 PostgreSQL 的驱动和编程接口来访问 OushuDB。
下面给出一个简单的 JDBC 访问 OushuDB 的例子。
// OushuDBJDBC.java
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSetMetaData;
public class OushuDBJDBC {
public static Connection getConn() {
Connection conn = null;
try {
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres";
try {
conn = DriverManager.getConnection(url, "ChangLei", "");
}
catch (SQLException e) {
e.printStackTrace();
}
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
    return conn;
}
public static void main(String[] args) {
    Connection conn= getConn();
    String sql = "select * from gp_segment_configuration";
    try {
        Statement stmt=conn.createStatement();
        ResultSet rs=stmt.executeQuery(sql);
        ResultSetMetaData rsmd = rs.getMetaData();
        int numCol = rsmd.getColumnCount();
        for (int i = 0; i < numCol; i++) {
            System.out.print(rsmd.getColumnName(i + 1) + ' ');
        }
        System.out.println();
        while(rs.next()) {
            for (int i = 0; i < numCol; i++) {
              System.out.print(rs.getString(i + 1) + ' ');
            }
            System.out.println();
        }
    }
    catch (SQLException e) {
        e.printStackTrace();
    }
}
}
编译运行上面的代码需要下面几步:
安装 JDK,并确认 Java 和 javac 命令工作
拷贝上面的代码到 OushuDBJDBC.java,需要更改下面这行里面的 OushuDB 用户名和密码。
conn = DriverManager.getConnection(url, "ChangLei", "");
下载 JDBC 驱动:
wget https://jdbc.postgresql.org/download/postgresql-9.4.1212.jar
编译
javac -cp ./postgresql-9.4.1212.jar OushuDBJDBC.java
运行 OushuDBJDBC
changlei:dev ChangLei$ Java OushuDBJDBC
registration_order role status port hostname address description
0 m u 5432 changlei changlei null
1 p u 40000 localhost 127.0.0.1