统一接口实现是证书认证系统的重要课题设计之一,良好的统一接口[19]能实现证书认证系统的业务与数据有效分层、能提供证书认证系统模块化结构、能提升证书认证系统稳定及性能、能实现证书系统的跨平台通讯及移植,保持证书认证系统的先进性。本证书认证系统统一接口主要包括统一数据库访问接口、统一套接字通讯接口、统一报文编码解码接口等。
统一数据库访问接口[20]用于屏蔽不同数据库的实现细节,支持ORACLE、INFOMIX、DB2、MYSQL等大中小数据库访问,简化证书认证系统数据库操作,保证证书认证系统的设计先进性。其功能主要包括数据库连接池初始化接口、从连接池获取数据库连接接口、释放数据库连接到连接池接口、释放数据库连接池接口、执行单个非select数据库语句接口、执行多个非select数据库语句接口、数据库事务回退接口、数据库事务提交接口、执行select数据库语句接口(返回单条记录)、执行select数据库语句接口(返回多条记录)、打开游标接口、通过游标获取数据接口、关闭游标接口、打开Lob字段写数据接口、往Lob字段写数据接口、打开Lob字段读数据接口、从Lob字段读数据接口、关闭Lob字段接口。
序号 |
函数设计 |
描述 |
1 |
int UN_EsqlDB_PoolInit(int bounds, char* dbName, char* dbUser, char* dbPswd); |
数据库连接池初始化 |
2 |
int UN_EsqlDB_ConnGet(UNDBHandle* handle, int sTimeout, int nsTimeout); |
从连接池获取数据库连接 |
3 |
int UN_EsqlDB_ConnFree(UNDBHandle handle, int validFlag); |
释放数据库连接到连接池 |
4 |
int UN_EsqlDB_PoolFree(); |
释放数据库连接池 |
5 |
Int UN_EsqlDB_ExecNSelSql(UNDBHandle handle, char* sql); |
执行单个非select数据库语句(不包含事务) |
6 |
Int UN_EsqlDB_ExecNSelSqls(UNDBHandle handle, char* sqls[]); |
执行多个非select数据库语句(包含事务) |
7 |
int UN_EsqlDB_BeginTran(UNDBHandle handle); |
数据库事务开始 |
8 |
int UN_EsqlDB_Rollback(UNDBHandle handle); |
数据库事务回退 |
9 |
int UN_EsqlDB_Commit(UNDBHandle handle); |
数据库事务提交 |
10 |
int UN_EsqlDB_ExecSelSql(UNDBHandle handle, char* sql, UNDBRow* row);< |