偶小梦
发布于

「问答收集贴」偶数科技OushuDB编程接口

偶数科技 OushuDB 编程接口

评论(1)
  • 偶小梦
    偶小梦 回复

    因为 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

test