GBase 8a集群JDBC获取加载行数 Loaded Line,忽略行数skipped Line,任务ID等

生命之源 0 2021-11-08 17:16:46

GBase 8a集群JDBC获取加载行数 Loaded Line,忽略行数skipped Line,任务ID等

package com.gbase.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

import com.gbase.jdbc.StatementImpl;

// NEED gbase-connector-java-8.3.81.53-build54.4-bin.jar 
public class TestLoad {

	public static void main(String[] args) throws Exception {
		String URL = "jdbc:gbase://192.168.174.61:5258/testdb?user=gbase&password=gbase20110531&useOldAliasMetadataBehavior=false&failoverEnable=true&hostList=192.168.174.61&gclusterId=vmax";
		// System.out.println(URL);
		Class.forName("com.gbase.jdbc.Driver");

		Connection con = DriverManager.getConnection(URL);

		Statement stat = con.createStatement();
		try {
			int rtn = stat.executeUpdate(
					"LOAD DATA INFILE 'ftp://gbase:gbase@192.168.174.61/zxq/2.txt' into table testdb.t1 fields terminated by ',' max_bad_records 0");
			System.out.println("loaded=" + rtn);// 成功加载的行数
			long skippedLines = ((StatementImpl) (stat)).getSkippedLines();
			System.out.println("Skipped=" + skippedLines);// 成功忽略的行数

			long taskid = ((com.gbase.jdbc.StatementImpl) (stat)).getLoadTaskID();// 任务编号
			System.out.println("LoadTaskId=" + taskid);// 任务编号

			ResultSet rs = stat.executeQuery("show gcluster load logs " + taskid + " limit 0,10");
			ResultSetMetaData rsmd = rs.getMetaData();
			int cols = rsmd.getColumnCount();
			while (rs.next()) {
				for (int i = 1; i <= cols; i++) {
					System.out.println(rsmd.getColumnName(i) + "==>" + rs.getString(i));
				}
			}

		} catch (SQLException ex) {
			ex.printStackTrace();
			System.out.println(ex.getErrorCode());
			System.out.println(ex.getMessage());
			// throw ex;
		}
	}

}

错误数据,可以根据taskId通过SQL获得。

...全文
25 点赞 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
发帖
其他
创建于2009-10-09

229

社区成员

其他产品/厂家
申请成为版主
帖子事件
创建了帖子
2021-11-08 17:16
社区公告
暂无公告