【本文正在参与炫“库”行动-人大金仓有奖征文】
活动链接: CSDN
数据类型 | 类型说明 |
---|---|
SQLT_CHR | 字符串类型 |
SQLT_NUM | 数值数据类型 |
SQLT_INT | 整数类型(当指定长度为1时,对应 C 的 BYTE 类型;长度为2时,对应C的 short 类型;长度为4时,对应C的 int 类型;长度为8时,对应C的 int64 类型) |
SQLT_FLT | 浮点数类型(当指定的长度为4时,对应C数据类型 float,当指定长度为8时,对应C数据类型 double) |
SQLT_STR | 变长字符串类型(末尾带有’0’结束符) |
SQLT_VNU | 变长数值类型 |
SQLT_LNG | 长整型类型 |
SQLT_VCS | 变长字符串类型 |
SQLT_DAT | 日期数据类型 |
SQLT_BIN | 二进制类型 |
SQLT_LBI | 长二进制类型 |
SQLT_UIN | 无符号整数类型 |
SQLT_LVC | 超长的长整型(或字符串)类型 |
SQLT_LVB | 超长的二进制类型 |
SQLT_AFC | ANSI定长字符串类型 |
SQLT_AVC | ANSI变长字符串类型 |
SQLT_CUR | 游标类型 |
SQLT_CLOB | 字符大对象类型 |
SQLT_BLOB | 二进制大对象类型 |
SQLT_RSET | 游标类型 |
SQLT_ODT | 标准时间类型(兼容 Oracle 的 DCIDate 类型) |
SQLT_DATE | ANSI日期类型 |
SQLT_TIME | 时间类型 |
SQLT_TIME_TZ | 带有区域的时间类型 |
SQLT_TIMESTAMP | 时间戳类型 |
SQLT_TIMESTAMP_TZ | 带有区域的时间戳类型 |
SQLT_TIMESTAMP_LTZ | 带有本地区域的时间戳类型 |
SQLT_INTERVAL_YM | YEAR-MONTH的时间间隔类型 |
SQLT_INTERVAL_DS | DAY-SECOND的时间间隔类型 |
设置环境变量:export KINGBASE_CONFDIR指定sys_service.conf配置文件所在目录路径,配置方法请参照”DCI指南->概述->服务的配置方法与参数说明”;export LD_LIBRARY_PATH指定 DCI动态库所在目录路径,应用程序在运行时加载
DCI 通过服务名连接数据库。服务在文件 sys_service.conf 中配置。
在 DCI 中,可使用的参数和含义如下所示:
host 主机名
port 端口号
dbname 数据库名
UseExtendedProtocol 使用扩展协议(取值0或者1)
UsePackage 是否使用 Package(兼容 Oracle 的 Package 功能)(取值0或者1)
Print 是否打印语句信息(输出到标准输出,而非日志文件;取值0或者1)
DCILog 指定日志信息文件的保存路径(文件可不存在,但是其父目录必须存在,并且有写权限) 日志配置是全局生效的,所以DCI只会根据找到的第一个有效的日志参数值为准。因此如果有多个数据源都有日志配置,其实也只有第一个日志配置参数生效。
DCILogLevel 指定日志级别,可取值为:LOG / DEBUG1 / DEBUG2 / DEBUG3 / DEBUG4 / DEBUG5
UseDciDat
当 UseDciDat=0 时,对于数据库中的timestamp类型,返回的DCI类型为SQLT_DAT,默认值为1。
当 UseDciDat=1 时,对于数据库中的timestamp(0),返回的 DCI类型为SQLT_DAT;对于其他的timestamp类型返回的DCI类型为SQLT_TIMESTAMP。
当 UseDciDat=2 时,对于数据库中的timestamp类型,无论精度是多少,返回的DCI类型为SQLT_TIMESTAMP。
UseDciDat 取 0,1,2 以外的值时,接口不作任何处理。
AutoCommit 是否采用自动提交事务方式,默认是1,表示采用自动提交模式;如果指定为0,表示采用手动提交模式。
BatchInsertSize_Ext 批量DML扩展优化
指定是否开启批量INSERT,UPDATE,DELETE扩展优化,默认值为0表示关闭。如果指定为1,则会开启批量DML扩展优化。该参数需要使用2021年7月15号以后的V8R6C4版本的数据库才能支持。
注意:
sys_service.conf 文件的书写格式如下:
[servicename1] keyword=value ... [servicename2] ... 示例: [kingbase] dbname=SAMPLES port=54321
在 sys_service.conf 文件中服务名使用方括号 '[]' 识别, 如果出现多个相同的服务名,第一个出现的那个将被使用;如果一个服务中出现多个相同参数(host 除外),最后一个出现的那个将被使用;如果参数是 host,则直接把其 host 值加入 host 列表中。
如果有多个 host 值可以使用“|”将它们分隔开或使用“( )”将他们括起来。
sys_service.conf 文件每行不得超过 256 个字符,使用“#“来进行注释
sys_service.conf 文件所在路径:
DCI接口提供两种配置方法,用来建立与sys_service.conf的关联:
根据不同平台,将config文件夹中的sys_service.conf拷贝到指定的路径下:
Windows XP指定路径为:X:Documents and SettingsAll UsersApplication DataKingbaseES 目录。
Windows 7指定路径为:X:ProgramDataKingbaseES 目录。
Linux指定路径为:/etc/KingbaseES 目录。
注:1. 路径中KingbaseES文件夹需要用户自己建立;
X为系统盘符;
在Windows平台,需注意Application Data与ProgramData为系统隐藏文件夹。
指定环境变量
在Windows和Linux平台,用户可以根据需要更改 sys_service.conf 文件的位置,但在连接数据库之前需要通过设置环境变量 KINGBASE_CONFDIR 指定其所在目录的路径。
keyword 格式说明:keyword 以及 其后的 value 不区分大小写;keyword 之前以及'='前后允许有空格,但 keyword 和 value 内部的空格不会被忽略;若想将 keyword 赋为空串,则 '=' 后的 value 保持空白即可('' 或 "" 不会作为空串而是作为 value 值处理)。
【本文正在参与炫“库”行动-人大金仓有奖征文】
活动链接: CSDN