神通ACI简介¶
Application Call Interface(应用程序调用接口)简称ACI,是一个访问神通数据库的应用程序编程接口,开发人员可以使用C语言或C++语言通过SQL(Structure Query Language)来访问神通数据库。 神通ACI接口采用兼容Oracle的OCI(Oracle Call Interface)的方式,使得应用能够快速的从Oracle数据库迁移到神通数据库上,极大的减少了应用移植和开发的时间和成本。
备注:本文档有不详细之处,可以参考Oracle的OCI官方文档进行补充,但部分特性以本手册描述为准或者咨询神通公司原厂工程师。
ACI的优势¶
- 相对于其他方式访问神通数据库,ACI的优势主要有:
- 兼容Oracle的OCI接口,应用程序可以快速迁移到神通数据库上
- C语言接口具有较高的性能和稳定性
- 采用缓存优化数据的读取,减少ACI接口和神通数据库服务器的交互次数
- ACI接口提供数组绑定功能,批量操作提升了数据的插入、更新和删除性能
- ACI支持与神通数据库、神通Kstore、神通MPP5相关存储产品进行通信,使用场景保持一致
- 支持神通数据库读写分离集群语句分发功能
ACI的重要性¶
ACI属于客户端与数据库通讯的最底层接口,效率非常高,功能最完备,其他部分接口依赖ACI运行:
- ACCI (C++语言接口)
- go-aci (GO语言接口)
- STPython (Python语言接口)
- PDO_ACI (PHP语言接口)
- QACI (QT开发接口)
- OTLV4( C++语言接口)
相关环境变量¶
$SZ_OSCAR_HOME:为神通数据库安装路径,且注册为系统环境变量;
$NLS_OSCAR_LANG:为设置客户端字符集的环境变量;
NLS_OSCAR_LANG允许的值为:GBK、GB2312、GB18030、zh_CN.GB18030、UTF8、UTF-8、BIG5
$ACI_CONF_FILE_DIR:为ACI设置配置文件路径(不包含文件名称,只能是sqlnet.aci)
比如:export ACI_CONF_FILE_DIR=/opt/ShenTong/admin/
$ACI_TNS_FILE_DIR:为ACI设置域名文件路径(不包含文件名称,只能是tnsnames.aci)
比如:export ACI_TNS_FILE_DIR=/opt/ShenTong/
$LANG:ACI通过获取LANG的值来设置本地字符集。
注意:对于部分环境无法正确获得LANG,或者LANG设置不规范的情况,windows默认GBK,Linux默认UTF8
备注:ACI_CONF_FILE_DIR、ACI_TNS_FILE_DIR两个环境变量是在大于v2.0.21(不含)版本支持的。