GBase8a JDBC 新增了用于获取加载任务 ID 号,加载数据跳过行数的功能。因为 jdbc标准接口并不包含该方法定义,故在使用时需要将标准的 Statement 转化为 com.gbase.jdbc.StatementImpl 类型方可使用。
因为加载 sql 语法是在 8611 版本中引入的,故该功能仅支持 8611 版本以上集群。
1) 获取数据跳过行数示例
该功能需要 gbase-connector-java-8.3.81.53-build54.1 以上版本支持(含 54.1)
String loadSql="load data infile 'ftp://test:123456@192.168.7.182/1.txt' into table loadtest fields terminated by ','";
Connection conn =DriverManager.getConnection(URL);
StatementImpl stmt = (StatementImpl) conn.createStatement();
stmt.execute("drop table if exists loadtest");
stmt.execute("create table loadtest(a int, b varchar(100))");
stmt.executeUpdate(loadSql);
long skippedLines = stmt.getSkippedLines();
2) 获取任务 ID 示例
该功能需要 gbase-connector-java-8.3.81.53-build54.2 以上版本支持(含 54.2)
String loadSql="load data infile 'ftp://test:123456@192.168.7.182/1.txt' into table loadtest fields terminated by ','";
Connection conn =DriverManager.getConnection(URL);
StatementImpl stmt = (StatementImpl) conn.createStatement();
stmt.execute("drop table if exists loadtest");
stmt.execute("create table loadtest(a int, b varchar(100))");
stmt.executeUpdate(loadSql);
long taskID = stmt.getLoadTaskID();