返回首页

gbase数据、南大通用产品文档:GBase8s查看任务

更新日期:2024年09月11日

任务列表中选择任务,点击“查看任务”
,可以查看任务的详细信息或者任务报告,如下图:

GBase Migration Toolkit 迁移工具用户手册

南大通用数据技术股份有限公司 - 14 -

图 4-16-1 任务详情

未结束的任务,将会显示任务详情,详情中将展现任务的基本配置信息,和迁移的基本信息;
已完成的任务(已完成是指:状态为已完成或者已停止,其它状态均为未完成)将会显示任务报
告,其中会给出相应的耗时以及结果信息等报告内容,如下图:

GBase Migration Toolkit 迁移工具用户手册

南大通用数据技术股份有限公司 - 15 -

图 4-16-2 任务报告
点击该页面的“详情”按钮查看任务中具体迁移对象的详情,如下图:

图 4-17 迁移对象详情列表
页面提供根据类型、状态和结果进行查询。对于有错误信息的迁移对象,可以双击查看错误信息
详情,如图4-18 迁移对象详情展示,

GBase Migration Toolkit 迁移工具用户手册

南大通用数据技术股份有限公司 - 16 -

图 4-18 迁移对象详情
“导出失败信息”您看可以对失败的任务信息进行导出。
“重建任务”您可以对失败的任务进行重建处理。

ifx_defmtdate() 函数使用格式化掩码来将字符串转换为内部的 DATE 格式。
语法
mint ifx_defmtdate(jdate, fmtstring, instring, dbcentury)
int4 *jdate;
char *fmtstring;
char *instring;
char dbcentury;
jdate
指向 int4 整数值的指针,该值接收 inbuf 字符串的内部 DATE 值。
fmtstring
指向包含要用于 inbuf 字符串的格式化掩码的缓冲区的指针。
instring
指向包含要转换的日期字符串的缓冲区的指针。
dbcentury
可为下列字符之一,其确定适用于该日期的年份部分的世纪:
R
当前的。该函数使用当前年份的两个高数位来扩展该年份值。
P
过去的。该函数使用当前的和过去的世纪来扩展该年份值。它将这两个日期与当前日
期对比,并使用在当前世纪之前的那个世纪。如果两个日期都在当前日期之前,则该函数
使用距离当前日期最近的世纪。
F
未来的。该函数使用当前的和下一世纪来扩展该年份值。它将这些世纪与当前日期对
比,并使用晚于当前日期的那个世纪。如果两个日期都晚于当前的日期,则该函数使用距
离当前日期最近的日期。
C
最近的。该函数使用当前的、过去的和下一世纪来扩展该年份值。它选择距离当前日
期最近的那个世纪。

用法

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 703 -

fmtstring 参数指向日期格式化掩码,其包含描述如何说明该日期字符串
的格式。

input 字符串和 fmtstring 必须依照与月份、日子和年份相同的先后顺序。然而,它们
不需要包含月份、日子和年份的相同的文字或相同的表示。

您可在 fmtstring 中包括 weekday 格式(ww),但数据库服务器忽略那种格式。没
有来自 inbuf 的内容与该 weekday 格式相对应。

下列 fmtstring 与 input 的组合是有效的。
格式化掩码输入
mmddyy
Dec. 25th, 2007
mmddyyyy
Dec. 25th, 2007
mmm. dd. yyyy
dec 25 2007
mmm. dd. yyyy
DEC-25-2007
mmm. dd. yyyy
122507
mmm. dd. yyyy
12/25/07
yy/mm/dd
07/12/25
yy/mm/dd
2007, December 25
yy/mm/dd
In the year 2007, the month of December, it is the 25th day
dd-mm-yy
This 25th day of December 2007


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 704 -

如果存储在 inbuf 中的值是四位的年份,
则 ifx_defmtdate() 函数使用那个值。
如果存
储在 inbuf 中的值是二位的年份,则 ifx_defmtdate() 函数使用 dbcentury 参数的值来确定
要使用的那个世纪。
如果您未设置 dbcentury 参数,
则 ifx_defmtdate() 使用 DBCENTURY
环境变量来确定要使用哪个世纪。如果您未设置 DBCENTURY,则 ifx_strdate() 假定两位
年份的当前世纪。

返回代码
如果您使用无效的日期字符串格式,则 ifx_defmtdate() 返回错误代码,并将内部的
DATE 设置为当前日期。下列是可能的返回代码:
0
操作成功。
-1204
*input 参数指定无效的年份。
-1205
*input 参数指定无效的月份。
-1206
*input 参数指定无效的日子。
-1209
由于 *input 未包含在该年份、月份和日子之间的定界符,因此,*input 的长度必须
恰为 6 或 8 字节。
-1212
*fmtstring 未指定年份、月份和日子。

dtextend() 函数将 datetime 值扩展为不同的限定符。扩展是指添加或删除
DATETIME 值的字段来使其与给定的限定符相匹配的操作。
语法
mint dtextend(in_dt, out_dt)
dtime_t *in_dt, *out_dt;
in_dt
指向要扩展的 datetime 变量的指针。
out_dt
指向带有要用于该扩展的有效限定符的 datetime 变量的指针。

用法
dtextend() 函数将 in_dtdatetime 变量的限定符字段数字复制到 out_dtdatetime 变量。
out_dt 变量的限定符控制该复制。

该函数丢弃 out_dt 变量不包括的 in_dt 中的任何字段。该函数填写 in_dt 中未出现
的 out_dt 中的任何字段,如下:
它从当前的时间和日期来填写 in_dt 中最高有效字段左边的字段。
它以多个零来填写 in_dt 中最低有效字段右边的字段。

在下列示例中,以始于 6 月 1 日的财政年度的第一天来设置变量 fiscal_start。
dtextend() 函数生成当前的年份。
EXEC SQL BEGIN DECLARE SECTION;
datetime work, fiscal_start;
EXEC SQL END DECLARE SECTION;

work.dt_qual = TU_DTENCODE(TU_MONTH,TU_DAY);
dtcvasc("06-01",&work);

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 683 -

fiscal_start.dt_qual = TU_DTENCODE(TU_YEAR,TU_DAY);
dtextend(&work,&fiscal_start);
返回代码
0
操作成功。
-1268
参数包含无效的 datetime 限定符。

示例
demo 目录在文件 dtextend.ec 中包含此样例程序。
/*
* dtextend.ec *

The following program illustrates the results of datetime extension.
The fields to the right are filled with zeros,and the fields to the left are filled in from current
date and time.
*/

#include

EXEC SQL include datetime;

main()
{
mint x;
char year_str[20];

EXEC SQL BEGIN DECLARE SECTION;
datetime month to day month_dt;
datetime year to minute year_min;
EXEC SQL END DECLARE SECTION;

printf("DTEXTEND Sample ESQL Program running.\n\n");

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 684 -


/* Assign value to month_dt and extend */
printf("Datetime (month to day) value = 12-07\n");
if(x = dtcvasc("12-07", &month_dt))
printf("Result = Error %d in dtcvasc()\n", x);
else
{
if (x = dtextend(&month_dt, &year_min))
printf("Result = Error %d in dtextend()\n", x);
else
{
dttoasc(&year_min, year_str);
printf("Datetime (year to minute) extended value =%s\n", year_str);
}
}

printf("\nDTEXTEND Sample Program over.\n\n");
}
输出
DTEXTEND Sample ESQL Program running.

Datetime (month to day) value = 12-07
Datetime (year to minute) extended value = 2006-12-07 00:00
DTEXTEND Sample Program over.