神通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++语言接口)

相关环境变量

  1. $SZ_OSCAR_HOME:为神通数据库安装路径,且注册为系统环境变量;

  2. $NLS_OSCAR_LANG:为设置客户端字符集的环境变量;

    NLS_OSCAR_LANG允许的值为:GBK、GB2312、GB18030、zh_CN.GB18030、UTF8、UTF-8、BIG5

  3. $ACI_CONF_FILE_DIR:为ACI设置配置文件路径(不包含文件名称,只能是sqlnet.aci)

    比如:export ACI_CONF_FILE_DIR=/opt/ShenTong/admin/

  4. $ACI_TNS_FILE_DIR:为ACI设置域名文件路径(不包含文件名称,只能是tnsnames.aci)

    比如:export ACI_TNS_FILE_DIR=/opt/ShenTong/

  5. $LANG:ACI通过获取LANG的值来设置本地字符集。

    注意:对于部分环境无法正确获得LANG,或者LANG设置不规范的情况,windows默认GBK,Linux默认UTF8

备注:ACI_CONF_FILE_DIR、ACI_TNS_FILE_DIR两个环境变量是在大于v2.0.21(不含)版本支持的。