客户端程序要和数据库服务器进行通信,必须和数据库服务器建立连接。所以需要先连接数据库服务器,再使用数据库函数 dpi_alloc_con 申请连接句柄。要申请连接句柄必须先成功申请环境句柄。一个连接只能属于一个环境句柄。申请连接句柄成功后可以通过函数 dpi_login 来进行数据的连接登录。
连接句柄包含属性如下表所示:
属性 |
说明 |
取值 |
DSQL_ATTR_ACCESS_MODE |
连接的访问模式(可读写) |
DSQL_MODE_READ_ONLY 或者 DSQL_MODE_READ_WRITE |
默认 DSQL_MODE_READ_WRITE |
||
DSQL_ATTR_ASYNC_ENABLE |
允许异步执行,未提供 |
未支持 |
DSQL_ATTR_AUTO_IPD |
自动分配参数描述符(只读) |
|
DSQL_ATTR_AUTOCOMMIT |
自动提交(可读写) |
DSQL_AUTOCOMMIT_ON 或者 DSQL_AUTOCOMMIT_OFF 默认 DSQL_AUTOCOMMIT_ON |
DSQL_ATTR_CONNECTION_DEAD |
连接存活,未提供 |
|
DSQL_ATTR_CONNECTION_TIMEOUT |
执行超时时间(可读写) |
udint4数值 |
DSQL_ATTR_LOGIN_TIMEOUT |
登录超时时间 |
udint4 数值 |
DSQL_ATTR_PACKET_SIZE |
网络包大小,未提供 |
|
DSQL_ATTR_TXN_ISOLATION |
事务隔离级(可读写) |
ISO_LEVEL_READ_UNCOMMITTED , ISO_LEVEL_READ_COMMITTED , ISO_LEVEL_SERIALIZABLE |
DSQL_ATTR_LOGIN_PORT |
登录端口号(可读写) |
sdint2数值 默认5236 |
DSQL_ATTR_STR_CASE_SENSITIVE |
大小写是否敏感(只读) |
|
DSQL_ATTR_MAX_ROW_SIZE |
行最大字节数(只读) |
|
DSQL_ATTR_LOGIN_USER |
登陆用户(只读) |
|
DSQL_ATTR_LOGIN_SERVER |
登陆服务器 IP(只读) |
|
DSQL_ATTR_INSTANCE_NAME |
实例名称(只读) |
|
DSQL_ATTR_CURRENT_SCHEMA |
当前模式(只读) |
|
DSQL_ATTR_SERVER_CODE |
服务器的编码(只读) |
|
DSQL_ATTR_LOCAL_CODE |
本地编码(可读写) |
PG_SQL_ASCII,PG_UTF8, PG_GBK,PG_BIG5, PG_ISO_8859_9, PG_EUC_JP,PG_EUC_KR, PG_KOI8R,PG_ISO_8859_1, PG_GB18030, PG_ISO_8859_11,PG_UTF16 |
DSQL_ATTR_LANG_ID |
错误消息的语言(可读写) |
LANGUAGE_EN 或 者 LANGUAGE_CN |
DSQL_ATTR_APP_NAME |
应用名称(可读写) |
|
DSQL_ATTR_COMPRESS_MSG |
消息压缩(可读写) |
DSQL_TRUE 压 缩 , DSQL_FALSE 不压缩 |
DSQL_ATTR_RWSEPARATE |
读写分离(可读写) |
DSQL_TRUE 开 启 , DSQL_FALSE 关闭 |
DSQL_ATTR_RWSEPARATE_PERCENT |
读写分离比例(可读写) |
0-100 默认 25 |
DSQL_ATTR_CURRENT_CATALOG |
(只读) |
DSQL_ATTR_TRX_STATE |
事务状态(只读) |
DSQL_TRX_ACTIVE 和 DSQL_TRX_COMPLETE |
DSQL_ATTR_USE_STMT_POOL |
语句句柄缓存池(可读写) |
DSQL_TRUE 开 启 , DSQL_FALSE 关闭 |
DSQL_ATTR_SSL_PATH |
SSL 证书所载的路径路径(可 读写) |
字符串(最长256) |
DSQL_ATTR_SSL_PWD |
SSL 加密密码(可读写) |
字符串(最长512) |
DSQL_ATTR_MPP_LOGIN |
mpp 登陆方式(可读写) |
DSQL_MPP_LOGIN_GLOBA L 全局登陆 DSQL_MPP_LOGIN_LOCAL 本地登陆 |
DSQL_ATTR_CRYPTO_NAME |
加密方式(可读写) |
|
DSQL_ATTR_CERTIFICATE |
密钥(可读写) |
最长4096 |
DSQL_ATTR_UDP_FLAG |
提供 UDP 或 TCP 连接(可读 写) |
TCP连接,默认为0 |
DSQL_ATTR_LOGIN_CERTIFICATE |
指定登录加密用户名密码公钥 所在的路径。该属性和 dm_svc.conf 中 配 置 项 LOGIN_CERTIFICATE功能一 样 。 两 者 不 一 致 时 , DSQL_ATTR_LOGIN_CERTI FICATE设置优先 |
字符串(最长256) |
评论