返回首页

gbase数据、南大通用产品文档:GBase8a使用SKIP_BAD_FILE 加载数据文件

更新日期:2024年09月11日

示例
建表语句:
CREATE TABLE "test_3" (
"column_1" int(11) DEFAULT NULL,
"column_2" varchar(10) DEFAULT NULL,
"column_3" varchar(20)
DEFAULT NULL);
数据文件,1.txt 内容与2.txt 完全一致:
-rw-r--r-- 1 root root
58 Nov 13 09:13 1.txt
--w------- 1 root root
58 Nov 13 09:21 2.txt
指定skip_bad_file 为0:
gbase>LOAD DATA INFILE 'http://192.168.153.32/*.txt' INTO TABLE test_3
FIELDS TERMINATED BY '|' SKIP_BAD_FILE 0;
ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: Expanding
wildcard operation failed with error - I/O operation on http://192.168.153.32/2.txt
failed with error - Access denied to remote resource, HTTP/1.1 403 Forbidden, File
name http://192.168.153.32/2.txt uri : http://192.168.153.32/%2a.txt.
查询入库数据:
gbase> SELECT * FROM test_3;
Empty set (Elapsed: 00:00:00.00)
指定skip_bad_file 为1:
gbase> LOAD DATA INFILE 'http://192.168.153.32/*.txt' INTO TABLE
test_3 FIELDS TERMINATED BY '|' SKIP_BAD_FILE 1;
Query OK, 3 rows affected (Elapsed: 00:00:00.58)
Task 42 finished, Loaded 3 records, Skipped 0 records, Ignored 1 files
查询入库数据:

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1209
gbase> SELECT * FROM test_3;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
|
43452 | sisoekso | mozoa,a
|
|
3890 | lqps,rpd | gg
|
|
59432 | gg
| laqpqpd
|
+----------+----------+----------+
3 rows in set (Elapsed: 00:00:00.01)

(1 row)

timezone
与UTC 的时区偏移量,单位为秒。正数对应UTC 东边的时区,负数对应UTC 西边的
时区。

timezone_hour
时区偏移量的小时部分。

timezone_minute
时区偏移量的分钟部分。

week
该天在所在的年份里是第几周。
ISO 8601 定义一年的第一周包含该年的一月四日(ISO-8601 的周从星期一开始)
。换句
话说,一年的第一个星期四在第一周。在ISO 定义里,一月的头几天可能是前一年的第52
或者第53 周,十二月的后几天可能是下一年第一周。比如,2005-01-01 是2004 年的第53
周,而2006-01-01 是2005 年的第52 周,2012-12-31 是2013 年的第一周。建议isoyear 字段
和week 一起
使用以得到一致的结果。
gbase=# SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');
date_part
-----------

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
206
7
(1 row)

year
年份域
gbase=# SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');
date_part
-----------
2001
(1 row)

基于Tomcat 使用GBase JDBC
以下说明适合Tomcat 5.5,对于新版本GBase JDBC 8.3.81.51 需要使用
JDK1.6。需要将GBase JDBC 驱动包gbase*.jar 放入目录
$TOMCAT_HOME\common\lib 下来配置用户的服务器。
在定义Web 应用程序的场景
内,
通过在$TOMCAT_HOME\conf\Catalina\localhost 目录下增加声明资源文件,
该文件以Web 应用名称为名(例:GBaseapp.xml)
,配置JNDI
DataSource,内容
部分如下:


name="jdbc/GBaseDB"
type="javax.sql.DataSource"
password="somepassword"
driverClassName="com.gbase.jdbc.Driver"

GBase 8a 程序员手册JDBC 篇


- 54 -

南大通用数据技术股份有限公司
maxIdle="2"
maxWait="50"
username="user"
url="jdbc:gbase://localhost:5258/dbname"
maxActive="4"/>

需要在Web 应用的WEB-INF 目录内的web.xml 文件中添加如下内容:

DB Connection
jdbc/GBaseDB
javax.sql.DataSource
Container

在程序中访问数据源的代码为:
Context initCtx = new InitialContext();
DataSource ds =
(DataSource)initCtx.lookup("java:comp/env/jdbc/GBaseDB");
一般地,用户应该遵照Tomcat 自带的安装说明,因为用户在Tomcat 中配
置数据源的方法有时候是不同的,并且,如果在用户的XML 文件里使用了错误
的语法,那么很可能以一个如下的异常结束:
Error: java.sql.SQLException: Cannot load JDBC driver class 'null
' SQL
state: null
注:关于Tomcat 使用Gbase JDBC 实例请查看2.8.12 小节。

GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司

- 55 -