ODBC错误处理
ODBC 中的错误处理
ODBC 中的错误是使用来自每个 ODBC 函数调用的返回值和 SQLError 函数或 SQLGetDiagRec 函数的返回值进行报告的。SQLError 函数用于 ODBC 版本 3 之前的版本(但不包括版本 3)。自版本 3 起,已不建议使用 SQLError 函数,此函数已被 SQLGetDiagRec 函数取代。
每个 ODBC 函数都返回一个 SQLRETURN,它是以下状态代码之一:
| 状态代码 | 说明 |
|---|---|
| SQL_SUCCESS | 无错误。 |
| SQL_SUCCESS_WITH_INFO |
该函数完成,但是对 SQLError 的调用将显示警告。 这种状态最常见的情况是:返回的值太长,应用程序提供的缓冲区不够用。 |
| SQL_ERROR | 函数未完成,因为出现了错误。调用 SQLError 可获取有关此问题的详细信息。 |
| SQL_INVALID_HANDLE |
作为参数传递的环境、连接或语句句柄无效。 如果在释放句柄后再使用该句柄,或者句柄为空值指针,则通常会发生这种情况。 |
| SQL_NO_DATA_FOUND |
没有可用信息。 使用这种状态的最常见情况是在从游标进行读取时,这种状态表示游标中没有更多行。 |
| SQL_NEED_DATA |
参数需要数据。 这是一项高级特性,SQLParamData 和 SQLPutData 下面的 ODBC SDK 文档对其作了说明。 |
每个环境、连接和语句句柄都可能有与之相关联的一个或多个错误或警告。每个对 SQLError 或 SQLGetDiagRec 的调用都会返回有关一个错误的信息,然后删除有关该错误的信息。如果您不调用 SQLError 或 SQLGetDiagRec 来删除所有错误,则会在执行下一个将同一句柄作为参数来传递的函数调用时,删除这些错误。
每个对 SQLError 的调用都会传递三个句柄,这些句柄分别用于环境、连接和语句。第一个调用使用 SQL_NULL_HSTMT 获取与连接相关联的错误。同样,使用 SQL_NULL_DBC 和 SQL_NULL_HSTMT 的调用将获取任何与环境句柄相关联的错误。
每个对 SQLGetDiagRec 的调用将传递环境、连接或语句句柄。第一个调用传递句柄类型 SQL_HANDLE_DBC 以获取与连接关联的错误。第二个调用传递句柄类型 SQL_HANDLE_STMT,以获取与刚执行的语句相关联的错误。
如果有要报告的错误(不是 SQL_ERROR),SQLError 和 SQLGetDiagRec 将返回 SQL_SUCCESS;如果没有其它要报告的错误,则将返回 SQL_NO_DATA_FOUND。
示例 1
以下代码段使用了 SQLError,并返回代码:
/* Declare required variables */ |
示例 2
以下代码段使用了 SQLGetDiagRec,并返回代码:
/* Declare required variables */ |
ODBC错误处理的更多相关文章
- SSAS:OLE DB 错误: OLE DB 或 ODBC 错误 : Login failed for user 'NT Service\MSSQLServerOLAPService'
问题描述 按照微软官方教程尝试使用SSAS做OLAP时,出现如下错误信息: Severity Code Description Project File Line Suppression State ...
- odbc错误信息一览表
ODBC 错误信息 根据 X/Open 和 SQL Access Group SQL CAE 规范 (1992) 所进行的定义,SQLERROR 返回 SQLSTATE 值.SQLSTATE 值是包含 ...
- 用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败/OLE DB 错误: OLE DB 或 ODBC 错误 :
用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败/OLE DB 错误: OLE DB 或 ODBC 错误 : 2012-2-23 上午 ,弄SAAS时,发现在生成多维数据集 ...
- (15)zabbix ODBC数据库监控
概述 ODBC监控对应于Zabbix Web管理端中的Database monitor监控项类型. ODBC是用于访问数据库管理系统(DBMS)的C语言中间件API.ODBC由Microsoft开发, ...
- PHP odbc_errormsg ODBC 函数
定义和用法 odbc_errormsg - 获取最后一条错误消息 语法 odbc_errormsg ( [ resource $connection_id ] ) 返回包含最后一个ODBC错误消息的字 ...
- SSAS:菜鸟摸门
官方:SSAS 多维模型 Analysis Services 多维解决方案使用多维数据集结构来分析多个维度之间的业务数据. 多维模式是 Analysis Services 的默认服务器模式. 它包括针 ...
- Wix打包相关资源
1.自定义安装界面(WixUI_Custom.wxs) <?xml version="1.0" encoding="UTF-8"?> <Wix ...
- 【攻防实战】SQL注入演练!
这篇文章目的是让初学者利用SQL注入技术来解决他们面临的问题, 成功的使用它们,并在这种攻击中保护自己. 1.0 介绍 当一台机器只打开了80端口, 你最依赖的漏洞扫描器也不能返回任何有用的内容, 并 ...
- 解决SQL查询总是超时已过期
解决SQL查询总是超时已过期 .在WIN8里提示:OLE DB 或 ODBC 错误 : 查询超时已过期; HYT00 1.由于数据库设计问题造成SQL数据库新增数据时超时 症状: Microso ...
随机推荐
- Ubuntu Install Chrome Brwoser
在ubuntu下安装chrome浏览器,可以直接从官网下载:http://www.google.cn/intl/zh-CN/chrome/browser/thankyou.html?platform= ...
- Yii框架第一步-- 安装
0.首次安装请看 这里 下面的为非首次安装,不需要token的步骤 1.下载composer 官网下载: https://getcomposer.org/download/ 2.开启PHP的opens ...
- 保留ip: Reserved IP addresses
Reserved IP addresses From Wikipedia, the free encyclopedia In the Internet addressing architect ...
- Redis学习记录之————微博项目
Key设计 全局相关的key: 表名 global 列名 操作 备注 Global:userid incr 产生全局的userid Global:postid Incr 产生全局的postid 用户相 ...
- SAP接口编程 之 JCo3.0系列(03) : Table参数
Table参数作为export parameter BAPI_COMPANYCODE_GETDETAIL是一个适合演示的函数,没有import paramter参数,调用后COMPANYCODE_GE ...
- 用Java集合中的Collections.sort方法对list排序的两种方法
用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口,如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- equals()和hashcode()
默认调用的情况: 1.集合在存放对象时,首先判断hashcode(),再判断equals如果都是true,认为是相同的两个元素不进行存储. 删除对象时,将从hashcode指定位置查找再删除 2.在h ...
- bootstrap学习笔记<十一>(导航条)
基础导航条.样式:class="navbar navbar-default",属性:role="navigation" <div class=" ...
- Android图形显示之硬件抽象层Gralloc(hal 转)
原文 http://blog.csdn.net/yangwen123/article/details/12192401 FrameBuffer驱动程序分析 文中介绍了Linux系统下的显示驱动框架, ...
- jquery.pagination.js分页
参数说明 参数名 描述 参数值 maxentries 总条目数 必选参数,整数 items_per_page 每页显示的条目数 ...