返回首页

gbase数据、南大通用产品文档:GBase8s数组示例

更新日期:2024年09月11日

下列是一个样例数据库模式:
CREATE TABLE tab (a set(integer not null), b integer);
INSERT INTO tab VALUES ("set{1,2,3}", 10);
下列示例使用 java.sql.Array 对象访存数据:
PreparedStatement pstmt = conn.prepareStatement("select a from tab");
System.out.println("prepare ... ok");
ResultSet rs = pstmt.executeQuery();
System.out.println("executeQuery ... ok");

rs.next();
java.sql.Array array = rs.getArray(1);
System.out.println("getArray() ... ok");
pstmt.close();

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 121 -


/*
* The user can now materialize the data into either
* an array or else a ResultSet. If the collection elements
* are primitives then the array should be an array of primitives,
* not Objects. Mapping data can be provided at this point.
*/

Object obj = array.getArray((long) 1, 2);

int [] intArray = (int []) obj; // cast it to an array of ints
int i;
for (i=0; i < intArray.length; i++)
{
System.out.println("integer element = " + intArray[i]);
}
pstmt.close();
java.sql.Array array = rs.getArray(1) 语句实例化 java.sql.Array 对象。在此点不转换数据。
Object obj = array.getArray((long)1, 2) 语句将数据转换为整数的数组(int 类型,不
是 Integer 对象)

由于未以索引和计数值调用getArray() 方法,
因此,
仅返回数据的子集。

Invalid fetch direction value
一个无效的访存方向被作为参数传送
到 Statement.setFetchDirection() 或 ResultSet.setFetchDirection() 方法。有效值为
FETCH_FORWARD 、FETCH_REVERSE 和 FETCH_UNKNOWN。

GBase
8a
MPP
Cluster 中,集群加载功能直接集成在GBase
8a
MPP
Cluster
内部,不需要额外部署外部加载工具。
数据加载具备如下一些特性和优点:
1)与集群高度集成;
2)面向用户的SQL 接口方式更符合用户的使用习惯;
3)
支持单表多数据源并行加载,
支持多加载机对单表的并行加载,
最大化
提升加载性能;
4)支持从通用数据服务器拉取数据,支持
ftp/sftp/hdfs/Kafka/http/https 等多种文件传输协议;
5)支持普通文本、gzip 压缩、snappy 压缩、lzo 压缩等多种格式数据文
件;
6)支持普通文本、定长文本、宽松模式的加载;
7)支持用户自定义列分割符、行分隔符和日期时间格式;
8)支持错误数据溯源功能,可以准确定位错误数据在源文件中的位置;
9)加载性能可以随着集群规模的扩展而持续提升。