返回首页

gbase数据、南大通用产品文档:GBase8a列同步

更新日期:2024年09月11日


只保留列名称和数据类型,其他属性包括主键,约束,压缩,加密等up 本身
也不支持,目前可以忽略这些属性;

GBase UP 产品手册 4 管理员指南

文档版本04(2021-04-21) 南大通用数据技术股份有限公司 210

数据类型在各个引擎上,都会存在不能完全兼容的情况,这里的转换原则是,
up 尽量兼容 其他引擎的数据类型,不能兼容的报告错误,并禁止同步,不能
完全兼容的,报告警告信息;

数据类型的转换,每一个引擎都需要提供一个详细的转换明细,源数据类型是
什么,转换到up 的哪种数据类型,怎么转换等。

unix_socket_directory
参数说明:设置GBase 8c 服务器侦听客户端连接的Unix 域套接字目录。
该参数属于POSTMASTER 类型参数,请参考表15-1 中对应设置方法进行设置。
该参数的长度限制于操作系统的长度,超过该限制将会导致Unix-domain socket path

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1157
“xxx” is too long 的问题。
取值范围:字符串
默认值:空字符串(实际值由安装时配置文件指定)

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 未指定年份、月份和日子。