拒绝文件

在加载期间发生转换错误的行或违反外部表上检查约束的行将写入到拒绝文件中。REJECTFILE 子句声明了该拒绝文件的路径和文件名称。

如果您在同一会话中对同一个表执行另一个装入,则任何先前相同名称的拒绝文件将被覆盖。

拒绝文件条目具有以下格式:
filename, record, reason-code, 
      field-name: bad-line

下表描述拒绝文件中的这些元素:

元素
描述
filename
输入文件的名称
record
输入文件中记录号,在该文件中检测到错误
reason-code
错误的描述
field-name
外部字段名称,其中行中发生第一个错误;如果拒绝不是特定于某个列,则为 <none>
bad-line
造成错误的行(仅限于定界或固定位置字符文件)
拒绝文件以 ASCII 格式写 filename, recordfield-namereason-codebad-line 信息随输入文件类型不同而变化。

以下错误可导致行被拒绝。

错误文本
说明
CONSTRAINT constraint name
违反了该约束。
CONVERT_ERR
有字段遇到转换错误。
MISSING_DELIMITER
找不到定界符。
MISSING_RECORDEND
找不到记录结尾。
NOT NULL
field-name 中找到 NULL 值。
ROW_TOO_LONG
输入记录超过 32 千字节。

虚拟处理器

GBase 8s 外部表使用 FIFO 虚拟处理器。当初始化服务器时,创建一个 FIFO 虚拟处理器。可使用 onmode -p 命令添加其它 FIFO 虚拟处理器。例如,使用以下语句添加三个 FIFO 虚拟处理器:
onmode -p +3 fifo
无法删除 FIFO 虚拟处理器。

FIFO 虚拟处理器用来处理与使用 PIPE 子句定义的管道相关的 I/O 。

有关使用 FIFO 虚拟处理器的更多信息,请参阅 GBase 8s 管理员指南