语句句柄
DPI 用语句句柄来存取名称、参数、错误以及其他关于语句处理流程的信息。在一个连
接句柄下可以有多个语句句柄,一个特定的 SQL 语句总是和一个句柄连接相联系的。在 DPI
中,通过语句句柄可以了解到语句的状态、当前语句的诊断信息、语句的参数以及结果集绑
定的应用程序变量等信息、每一个语句的当前属性值。客户程序调用 dpi_alloc_stmt 函数申
请一个语句句柄,用 dpi_free_stmt 函数释放一个语句句柄。
语句句柄包含属性如下表所示:
属性 |
说明 |
取值 |
DSQL_ATTR_ROW_BIND_ TYPE |
行绑定类型(可读写) |
|
DSQL_ATTR_ROW_BIND_ OFFSET_PTR |
行绑定偏移(可读写) |
|
DSQL_ATTR_ROW_OPERA TION_PTR |
绑定行数据处理指示(可读写) |
|
DSQL_ATTR_ROW_STATU S_PTR |
获取行数据状态指示(可读写) |
|
DSQL_ATTR_ROWS_FETC HED_PTR |
已获取行数指示(可读写) |
|
DSQL_ATTR_ROW_ARRA Y_SIZE |
行集大小(可读写) |
|
DSQL_ATTR_ROWSET_SIZE |
行集大小(可读写) |
DSQL_ATTR_USE_BOOKMARKS |
是否使用书签(可读写) |
|
DSQL_ATTR_FETCH_BOOKMARK_PTR |
书签值(可读写) |
|
DSQL_ATTR_PARAM_BIND_OFFSET_PTR |
参数绑定值的偏移位置(可读写) |
|
DSQL_ATTR_PARAM_BIND_TYPE |
参数绑定类型(可读写) |
|
DSQL_ATTR_PARAM_OPERATION_PTR |
参数数据处理指示(可读写) |
|
DSQL_ATTR_PARAM_STATUS_PTR |
参数使用状态(可读写) |
|
DSQL_ATTR_PARAMS_PROCESSED_PTR |
参数集中参数处理的个数(可读写) |
|
DSQL_ATTR_PARAMSET_SIZE |
参数集大小(可读写) |
|
DSQL_ATTR_ROW_NUMBER |
当前行位置(只读) |
|
DSQL_ATTR_IMP_ROW_DESC |
服务器端的行描述(只读) |
|
DSQL_ATTR_IMP_PARAM_DESC |
服务器端参数描述(只读) |
|
DSQL_ATTR_APP_PARAM_DESC |
应用程序参数描述(可读写) |
|
DSQL_ATTR_APP_ROW_DESC |
应用程序行描述(可读写) |
|
DSQL_ATTR_CURSOR_TYPE |
游标类型(可读写) |
DSQL_CURSOR_FORWARD_ONLY DSQL_CURSOR_STATIC DSQL_CURSOR_KEYSET_DRIVEN DSQL_CURSOR_DYNAMIC |
DSQL_ATTR_CONCURRENCY |
游标的并发方式(可读写) |
DSQL_CONCUR_READ_ONLY DSQL_CONCUR_LOCK DSQL_CONCUR_ROWVER DSQL_CONCUR_VALUES |
DSQL_ATTR_CURSOR_SCROLLABLE |
游标是否可滚动(可读写) |
DSQL_NONSCROLLABLE DSQL_SCROLLABLE |
DSQL_ATTR_CURSOR_SENSITIVITY |
结果集修改对其他游标是否可见(可 读写) |
DSQL_UNSPECIFIED DSQL_INSENSITIVE DSQL_SENSITIVE |
DSQL_ATTR_MAX_LENGTH |
字符类型或者二进制类型列的最大 返回长度(可读写) |
|
DSQL_ATTR_MAX_ROWS |
结果集返回的最大行数(可读写) |
|
DSQL_ATTR_NOSCAN |
是否检查语句中的转义符(可读写), |
未提供 |
||
DSQL_ATTR_QUERY_TIMEOUT |
执行超时时间(可读写),未提供 |
|
DSQL_ATTR_RETRIEVE_DATA |
游标滚动后是否检索数据(可读写), 未提供 |
|
DSQL_ATTR_ENABLE_AUTO_IPD |
自动分配参数描述符(可读写) |
DSQL_TRUE 或者 DSQL_FALSE |
DSQL_ATTR_ASYNC_ENABLE |
异步执行(可读写),未提供 |
|
DSQL_ATTR_KEYSET_SIZE |
键集驱动游标结果集中行的大小(可 读写),未提供 |
|
DSQL_ATTR_SIMULATE_CURSOR |
指定游标更新和删除是否只影响单 行(可读写),未提供 |
|
DSQL_ATTR_METADATA_ID |
(可读写) |
DSQL_TRUE DSQL_FALSE |
DSQL_ATTR_SQL_CHARSET |
字符集编码(可读写) |
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_IGN_BP_ERR |
批量参数错误数据处理策略(可读 写) |
DSQL_TRUE DSQL_FALSE |
评论