ODBC学习笔记—SQLAllocHandle
来源:互联网 发布:oracle数据库字段类型 编辑:程序博客网 时间:2024/06/06 08:59
SQLAllocHandle
函数定义:
顾名思义,该函数就是用来分配句柄的,句柄类型参考参数详解。
SQLRETURN SQLAllocHandle(
SQLSMALLINT HandleType,
SQLHANDLE InputHandle,
SQLHANDLE * OutputHandlePtr);
参数详解:
HandleType :输入变量
该变量只能从下列四个中选择其一:
SQL_HANDLE_ENV:用于申请环境句柄
SQL_HANDLE_DBC :用于申请连接句柄
SQL_HANDLE_DESC:用于申请描述符句柄
SQL_HANDLE_STMT:用于申请语句句柄
InputHandle :输入变量
该变量放入已经被分配好的前提句柄,如果第一个变量为环境句柄,则放入SQL_NULL_HANDLE即可,若果第一个变量为SQL_HANDLE_DBC,则第二个变量必须为已分配的环境句柄,如第一个变量为SQL_HANDLE_DESC,SQL_HANDLE_STMT则,第二个变量必须为已分配好的连接句柄。
OutputHandlePtr :输出变量
该变量为一个指针变量,用于保存申请来的句柄,申请句柄类型为第一个变量,在定义该指针的时候需注意类型一致。
返回值:
返回值有四种:SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_INVALID_HANDLE, or SQL_ERROR.
查看详细错误信息可调用SQLGetDiagRec 函数(之后章节讲解)。
用法:
初始化指针变量:
SQLHENV henv = NULL;
SQLHDBC hdbc = NULL;
SQLHSTMT hstmt = NULL;
SQLHDESC hdesc=NULL;
SQLRETURN rs = 0; //使用指针的初始化
1.申请环境句柄:
rs = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
2.申请连接句柄:
rs = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
rs = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs = SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
3.申请语句句柄:
rs = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
rs = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs = SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
rs = SQLConnect(hdbc,(UCHAR*)szDSN,SQL_NTS,(UCHAR*)szUID,SQL_NTS,(UCHAR*)szAuthStr,SQL_NTS);
rs = SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
4.申请描述句柄:
rs = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
rs = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs = SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
rs = SQLConnect(hdbc,(UCHAR*)szDSN,SQL_NTS,(UCHAR*)szUID,SQL_NTS,(UCHAR*)szAuthStr,SQL_NTS);
rs = SQLAllocHandle(SQL_HANDLE_DESC,hdbc,&hdesc);
- ODBC学习笔记—SQLAllocHandle
- ODBC学习笔记—SQLSetEnvAttr
- ODBC学习笔记—SQLConnect
- ODBC学习笔记—SQLSetConnectAttr
- ODBC学习笔记—SQLGetEnvAttr
- ODBC学习笔记—SQLGetConnectAttr
- ODBC学习笔记—SQLSetStmtAttr
- ODBC学习笔记—SQLGetStmtAttr
- SQLAllocHandle — 分配句柄
- golang SQLDriverConnect: {IM005} [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_DBC 失败
- ODBC数据库连接------java学习笔记之3
- 学习笔记--mysql odbc 乱码问题
- C#学习笔记 ODBC 操作Excel
- C#学习笔记 ODBC 操作CSV
- SQLAllocHandle Function
- 学习笔记:[Microsoft][ODBC 驱动程序管理器] 无效的游标状态
- 学习VC++深入浅出——ODBC编程
- 学习VC++深入浅出——ODBC编程
- Prim模板
- Python数据分析初探
- Oozie教程(1)——实现你自己的Hadoop/Spark作业工作流
- Merkle Tree与区块链
- 悲观锁和乐观锁
- ODBC学习笔记—SQLAllocHandle
- Sublime Text 3 Package Control安装问题
- 400
- Centos7防火墙firewall简单介绍
- linux中mysql用到my.cnf
- Pinyin4j的基本用法
- STL中clear()操作方法的使用细节
- 行杂记之Zookeeper SessionTimeOut分析
- java访问者模式