SQLSetEnvAttr
SQLSetEnvAttr
函数定义:
SQLRETURN SQLSetEnvAttr(
SQLHENV EnvironmentHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength);
参数详解:
EnvironmentHandle :输入变量
需放入环境句柄(参考SQLAllocHandle)
Attribute :输入变量 ValuePtr:输入变量
|
Attribute取值 |
ValuePtr取值 |
|
SQL_ATTR_CONNECTION_POOLING |
SQL_CP_OFF : 默认值,关闭连接池 SQL_CP_ONE_PER_DRIVER :连接池中的每一个连接都必须属于同一个驱动下的连接 SQL_CP_ONE_PER_HENV :连接池中的每一个连接都申请于同一个环境句柄 |
|
SQL_ATTR_CP_MATCH |
当调用 SQLConnect或者 SQLDriverConnect 时,该参数用于决定从连接池中选择连接的精度。 SQL_CP_STRICT_MATCH:默认值,连接的属性和驱动池中的连接完全一致时才会采用。 SQL_CP_RELAXED_MATCH :并非匹配所有的连接属性。 |
|
SQL_ATTR_ODBC_VERSION |
根据取值决定ODBC表现出的版本特性。 · SQL_OV_ODBC3 · SQL_OV_ODBC2 |
|
SQL_ATTR_OUTPUT_NTS |
确定返回字符串的结束符。 默认值为 SQL_TRUE返回’/0’结束的字符串。 SQL_FALSE相反。 |
StringLength :输入变量
如果ValuePtr为一个整型指针,则可以被忽略。如果为二进制或字符串,那么就需要再次放入其长度。
返回值:
返回值有四种:SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_INVALID_HANDLE, or SQL_ERROR.
查看详细错误信息可调用SQLGetDiagRec 函数(之后章节讲解)。
用法:
必须先设置ODBC版本,才可以设置其他属性。
1. 设置版本ODBC 3.X
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
2. 设置SQL_CP_ONE_PER_DRIVER
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs= SQLSetEnvAttr(henv,SQL_ATTR_CONNECTION_POOLING,(SQLPOINTER)SQL_CP_ONE_PER_DRIVER ,SQL_IS_INTEGER);
3. 关闭线程池
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs= SQLSetEnvAttr(henv,SQL_ATTR_CONNECTION_POOLING,(SQLPOINTER)SQL_CP_OFF,SQL_IS_INTEGER);
4. 设置SQL_CP_ONE_PER_HENV
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs= SQLSetEnvAttr(henv,SQL_ATTR_CONNECTION_POOLING,(SQLPOINTER)SQL_CP_ONE_PER_HENV ,SQL_IS_INTEGER);
5. 设置严格匹配
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs= SQLSetEnvAttr(henv,SQL_ATTR_CP_MATCH,(SQLPOINTER)SQL_CP_STRICT_MATCH,SQL_IS_INTEGER);
6. 设置非严格匹配
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs= SQLSetEnvAttr(henv,SQL_ATTR_CP_MATCH,(SQLPOINTER)SQL_CP_RELAXED_MATCH ,SQL_IS_INTEGER);
7. 设置返回’/0’结束字符串
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs= SQLSetEnvAttr(henv,SQL_ATTR_OUTPUT_NTS,(SQLPOINTER)SQL_TRUE,SQL_IS_INTEGER);
8. 设置非’/0’字符串
rs= SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
rs= SQLSetEnvAttr(henv,SQL_ATTR_OUTPUT_NTS,(SQLPOINTER)SQL_FALSE,SQL_IS_INTEGER);
SQLSetEnvAttr的更多相关文章
- ODBC API简介
1. 数据类型: 通过SQLGetTypeInfo函数来获取ODBC 3.0支持的数据类型信息.由SQLGetTypeInfo返回的数据类型是数据源所支持的数据类型. SQLRETURN S ...
- debian C++ OTL库 用 unixodbc 连接 mysql 小记
这个东东也是折腾了几天,网上很多文章可能已经过时,所以写下不同,以备后用. 参考网址: http://blog.csdn.net/genganpeng/article/details/7402229 ...
- ODBC与ADO 连SQL Server 2005
ADO是microsoft数据库应用程序开发的连连接口,是建立在OLE DB之上的高层 ADO使用方法步骤: 1.初始化COM库,引入ADO库定义 2.用connection对象连接数据库 3.利用连 ...
- C语言连接SQLSERVER数据库
第一步:配置ODBC.在配置ODBC时有用户DSN.系统DSN.和文件DSN三种方法,为了稳妥起见,采用系统DSN. DSN的名字叫LocalServer,帐号:sa,密码123456 第二步:打开V ...
- SQLConnect_ref.cpp
// SQLConnect_ref.cpp // compile with: odbc32.lib #include <windows.h> #include <sqlext.h&g ...
- 数据库系统概论(第5版) P262 例8.12
#include <iostream> #include <stdlib.h> #include <stdio.h> #include <Windows.h& ...
- C语言异常处理和连接数据库
#include <stdio.h> #include <setjmp.h> jmp_buf j; void Exception(void); double diva(doub ...
- ODBC 小例
#include "stdafx.h"#include <windows.h>#include <stdio.h>#include <iostream ...
- [转]dev C++编写windows程序遇到问题
1.工具-编译选项-编译器-在连接器命令行加入以下命令: -mwindows 2.出现错误:undefined reference to `PlaySoundA@12' 解决办法:工具-编译选项-编译 ...
随机推荐
- NOIP 2018 day1 题解
今年noip的题和去年绝对是比较坑的题了,但是打好的话就算是普通水准也能350分以上吧. t1: 很显然这是一个简单的dp即可. #include<iostream> #include&l ...
- teamviewer 卸载干净
1 点击开始菜单,控制面板,卸载程序,找到软直接卸载2 按住Ctrl+R,输入%AppData%,删除teamview 相关文件夹3 输入regedit打开注册表HKEY_LOCAL_MACHINE\ ...
- Erlang调度器
1. Erlang 抢占式调度 Erlang实现公平调度基于Reduction Budget(运行次数限制).每一个进程创建时初始reduction budget值为2000,任何Erlang系统中的 ...
- Vue 通过 Lodash 限制操作频率
<template> <div id="watch-example"> <p> Ask a yes/no question: <input ...
- mysql主从调优
mysql主从同步调优 常用选项 适用于Master服务器 binlog-do-db=name 设置Master对哪些库记日志 binlog-ignore-db=name 设置Master对哪些库不记 ...
- 002-MVC架构,贫血的领域模型、spring mvc,webhars使用
一.MVC.贫血的领域模型 MVC理念是将视图与模型进行解耦. 贫血的领域模型 <领域驱动设计>定义了一组架构规则,能够指导我们更好地将业务领域集成到代码中. 其中一个核心理念是将面向对象 ...
- 查看npm仓库版本号
http://repo.inspur.com:8081/artifactory/webapp/#/artifacts/browse/simple/General/thirdparty iop 找到现在 ...
- mysql相关SQL
1.mysql分组获取最新数据 sql> select max(column_name) from table group by column_name having count(*) orde ...
- [LeetCode] 577. Employee Bonus_Easy tag: SQL
Select all employee's name and bonus whose bonus is < 1000. Table:Employee +-------+--------+---- ...
- 修改easydialog标题
使用easyui作为前台框架极大的节省了项目资源,easyui官网文档中基本上囊括了所有的方法,但一些灵活性的方法文档中是找不到的,比如说动态替换窗口的属性,下边简单介绍些如何快速替换窗体的title ...