ODBC错误码_安装mentor的odbc驱动显示sql状态=s1000-程序员宅基地

技术标签: SQL  

ODBC错误信息

ODBC 错误信息

根据 X/Open 和 SQL Access Group SQL CAE 规范 (1992) 所进行的定义,SQLERROR 返回 SQLSTATE 值。SQLSTATE 值是包含五个字符的字符串。下表列出了驱动程序可以为 SQLError 返回的 SQLSTATE 值。

为 SQLSTATE 返回的字符串值由两个字符的类值后接三个字符的子类值组成。类值 01 表明是一种警告,后跟随 SQL_SUCCESS_WITH_INFO 的返回代码。只要类值不是 01(IM 除外),则表明是一种错误,后跟随 SQL_ERROR 的返回代码。类 IM 专门用于表明从 ODBC 实现产生的警告和错误。任何类中子类值 000 均用于实现给定类中所定义条件。这种类值和子类值的分配方法由 SQL-92 定义。

说明  通常由返回值 SQL_SUCCESS 表明成功执行了一个函数,但 SQLSTATE 00000 也表明成功执行。

SQLSTATE ODBC API(驱动程序管理器)错误
00000 成功
01000 常规警告
01002 断开连接错误
01004 数据被截断
01006 未废除特权
01S00 无效连接字符串特性
01S01 行中的错误
01S02 选项值已更改
01S03 未更新或删除任何行
01S04 更新或删除了多行
01S05 取消操作被当成 FreeStmt/Close
01S06 设法在结果返回第一个行集之前进行提取
07001 参数个数错误
07006 违反受限制的数据类型特性
07S01 默认参数使用无效
08001 无法连接到数据源
08002 连接正在使用
08003 连接未打开
08004 数据源拒绝建立连接
08007 在执行事务的过程中连接失败
08S01 通讯链接失败
21S01 插入值列表与列列表不匹配
21S02 派生表的程度与列列表不匹配
22001 字符串数据右截断
22002 需要指示符变量,但未提供
22003 数字值超出范围
22005 分配时出错
22008 Datetime 字段溢出
22012 被零除错误
22026 字符串数据,长度不匹配
23000 违反完整性约束
24000* 无效的游标状态
25000 无效的事务状态
28000 无效的授权规范
34000 无效的游标名称
37000 语法错误或违规访问
3C000 重复的游标名称
40001 串行错误
42000 语法错误或违规访问
70100 操作终止
IM001 驱动程序不支持本函数
IM002 未找到源名称并且未指定默认驱动程序
IM003 无法装载指定的驱动程序
IM004 驱动程序的 SQLAllocEnv 失败
IM005 驱动程序的 SQLAllocConnect 失败
IM006 驱动程序的 SQLSetConnectOption 失败
IM007 未指定数据源或驱动程序;禁止对话
IM008 对话失败
IM009 无法装载转换 DLL
IM010 数据源名称过长
IM011 驱动程序名称过长
IM012 DRIVER 关键字语法错误
IM013 跟踪文件错误
S0001 基表或视图已存在
S0002 未找到基表
S0011 索引已经存在
S0012 未找到索引
S0021 列已存在
S0022 未找到列
S0023 列无默认值
S1000 常规错误
S1001 内存分配失败
S1002 列编号无效
S1003 程序类型超出范围
S1004 SQL 数据类型超出范围
S1008 已取消操作
S1009 参数值无效
S1010 函数序列错误
S1011 操作在此时无效
S1012 所指定的事务操作代码无效
S1015 无可用的游标名称
S1090 字符串或缓冲区长度无效
S1091 描述符类型超出范围
S1092 选项类型超出范围
S1093 参数编号无效
S1094 小数位数值无效
S1095 函数类型超出范围
S1096 信息类型超出范围
S1097 列类型超出范围
S1098 作用域类型超出范围
S1099 可为空类型超出范围
S1100 唯一性选项类型超出范围
S1101 准确性选项类型超出范围
S1103 方向选项超出范围
S1104 精度值无效
S1105 参数类型无效
S1106 提取类型超出范围
S1107 行值超出范围
S1108 并发选项超出范围
S1109 游标位置无效
S1110 驱动程序完成无效
S1111 书签值无效
S1C00 驱动程序无法执行
S1DE0 执行值挂起时无数据
S1T00 超时失效

* 在 SQL Server 企业管理器中,当设法保存选定表或保存数据库关系图时,如果 Microsoft SQL Server 用尽资源,则可能接收到"游标状态无效"的错误信息。返回此错误的原因是,数据库或事务日志的空间不足,无法完成保存进程。若要修正此问题,请检查数据库或事务日志是否已满。如果已满,请增加数据库的大小以容纳更改。请检查其它的系统资源或与系统管理员联系。

除 ODBC 程序员参考文档中的标准 ODBC 错误信息外,SQL Server ODBC 驱动程序可以为某些 SQLSTATE 值返回错误信息,如下表所示。


SQLSTATE
SQL SERVER 驱动程序错误
描述
01000 已将 %ld 行发送到 SQL Server。共有:%ld 行。 使用 BCP API,已将一批行发送到 SQL Server。
01000 成功进行了大容量复制,已总共将 %ld 行复制到主文件中。共收到:%ld 行。 使用 BCP API,已将一批行写入到主文件中。
01000 已拒绝对在 DSN 中配置的数据库进行访问。使用默认值。 数据库不存在,或用户不具有对该数据库的访问权限。使用了为登录 ID 配置的默认数据库。
01000 在设法访问日志文件时出错,禁用日志记录。 无法使用驱动程序统计或长时间查询的日志文件。已禁用驱动程序统计或长时间查询的日志记录。
01000 连接到备份服务器。 SQL Server 主服务器不可用,因此连接到后备服务器。
01000 不支持在 DSN 中配置的语言。使用默认值。 语言名称无效,或未在服务器上安装该语言。使用了为登录 ID 配置的默认语言。
01000 Null 位数据强制为零。 正将包含 NULL 的位字段装载到不支持 NULL 位数据的服务器。该字段设置为零。
01000 用 'EXEC' 执行了过程。未返回任何输出参数。 无法作为 RPC 执行过程,并且指定了输出参数。因为已用 EXEC 执行了过程,将不存储任何输出参数。
01000 禁用 SQL 调试。 无法启用 SQL 调试,原因是没有为 SQL 调试对 SQL Server 进行配置。
01000 安装在 %s 服务器上的 ODBC 目录存储过程的版本为 %s;要确保正确操作,需要 %02d.%02d.%4.4d 版或更高版本。请与系统管理员联系。 通过执行 /Msqql/Install/Instcat.sql 安装 ODBC 目录存储过程。
01000 将长度为零的数据强制为长度为 1。 正在装载零长度二进制或字符字段,但不支持零长度数据。字段强制为 1 字节空格或二进制零。
01S02 游标并发已更改。 因为请求或查询的类型,应用程序请求了无法遵守的并发。代之以使用另一个并发。
01S02 游标类型已更改。 因为请求或查询的类型,应用程序请求了无法遵守的游标类型。代之以使用另一种游标类型。
01S02 服务器未遵守数据包大小更改,使用了服务器大小。 应用程序请求了无法为 SQL Server 所支持的非默认数据包大小。代之以使用服务器默认大小。
01S02 数据包大小已更改。 应用程序请求了非默认数据包大小,超出了允许的大小限制。根据所请求的大小是过大,还是过小,代之以使用最小的或最大的数据包大小。
01S02 登录超时已更改。 应用程序请求了一个过长的登录超时。代之以使用最大的登录超时。
07006 不允许使用 bcp_moretext 进行转换。 使用 bcp_moretext 的应用程序与列类型必须具有相同的字段类型。
08004 服务器拒绝连接;已拒绝对所选数据库的访问。 数据库不存在,或用户不具有对该数据库的访问权限。
08004 服务器拒绝连接;不支持所指定的语言。 语言名无效,或未在 SQL Server 上安装该语言。
HY024 数据库无效或无法访问。 数据库不存在,或用户不具有对该数据库的访问权限。
IM006 服务器不支持数据包大小更改,使用默认值。 应用程序请求了 SQL Server 不支持的非默认数据包大小。使用了客户默认大小。
HY000 所有绑定列都是只读的。 必须是可升级的列,以使用 SQLSetPos 或 SQLBulkOperations 更改或插入行。
HY000 已检测到一个旧 netlib (%s)。请删除并重新启动应用程序。 正在装载的 netlib 已过期。驱动程序请求一个较新的 netlib。
问题可能出在应用程序当前目录中的 netlib,正在装载的是这个 netlib,而不是系统目录中的那个。也可能是该 netlib 安装不当或已损坏。如果错误文本中所指定的 netlib 存在于 Windows 系统目录外的其它地方,请将其删除。如果 netlib 只存在于系统目录中,在客户端安装客户实用工具,然后重新启动应用程序。
HY000 尝试将 NULL 值大容量复制到不接受 NULL 值的 Server 列中。 字段包含 NULL 值,但列不允许 NULL 值。
HY000 尝试将过大的列大容量复制到 SQL Server。 为列提供的长度大于表中的列定义。
HY000 尝试读取 BCP 格式文件的未知版本。 bcp 格式文件中的标题行采用了不可识别的版本。
HY000 错误的大容量复制方向。必须是 IN 或者 OUT。 bcp_init 调用没有为 eDirection 参数指定有效的方向。
HY000 错误的终止符。 bcp_bind 中提供的终止符字符串无效。
HY000 Bcp 主文件必须至少包含一列。 未选定任何要装载的列。
HY000 无法生成 SSPI 上下文。 驱动程序无法获得集成安全性所要求的 SSPI 上下文。本机错误将包含该 Win32 错误代码。
HY000 无法初始化 SSPI 包。 驱动程序无法获得集成安全性所要求的 SSPI 上下文。本机错误将包含该 Win32 错误代码。
HY000 通讯模块无效。未正确安装驱动程序。 网络库 .dll 已损坏。在客户端安装客户实用工具,然后重新启动应用程序。
HY000 连接忙,结果针对另一个 hstmt。 SQL Server ODBC 驱动程序只允许一个活动的 hstmt。有关更多信息,请参见使用默认结果集
HY000 未对 BCP 启用连接。 使用 BCP API 的应用程序必须在连接之前设置 SQLSetConnectAttr 或 SQL_SS_COPT_BCP 特性。
HY000 关闭连接时失败。 网络库中的 ConnectionClose 函数失败。此问题通常是由网络或 SQL Server 问题引起的。
HY000 对于 BCP,必须对所有变长数据指定长度前缀或终止符。 用 SQL_VARYLEN_DATA 调用了 bcp_bind,但未指定前缀长度或终止符。
HY000 只有在复制到服务器中时,才能跳过主文件列。 bcp out 格式文件指定应跳过列。不允许进行这种指定。创建一个视图,其中只包含所需列和该视图的bcp out,或使用 -Q 标志提供一个只选择所需列的 SELECT 语句。
HY000 在 BCP 格式文件中找到不正确的主列号。 格式文件所包含的列号大于表中的列数。
HY000 在读取 bcp 数据文件时发生 I/O 错误。  
HY000 在读取 BCP 格式文件时发生 I/O 错误。  
HY000 写入 bcp 数据文件时发生 I/O 错误。  
HY000 在写入 bcp 错误文件时发生 I/O 错误。  
HY000 无效选项。 到 bcp_control 的 eOption 参数无效。
HY000 默认参数后面不允许有非默认参数。 在任何已用默认值进行指定的参数后面,存储过程的参数不能有非默认值。
HY000 没有足够的列绑定。 对于 bcp out,未绑定表的所有列。创建一个视图,其中只包含所需列和该视图的 bcp out,或使用 -Q 标志提供一个只选择所需列的 SELECT 语句。
HY000 ODBC BCP/驱动程序版本不匹配。 Sqlsrv32.dll 和 Odbcbcp.dll .dll 不具有相同的版本。在客户端安装客户实用工具,然后重新启动应用程序。
HY000 TDS 流中发生协议错误。 服务器的 TDS 流无效。此问题一般是由 SQL Server 问题引起的。请查看SQL Server 错误日志。
HY000 表中包含的行数小于第一个行计数。 提供了起始行号,但服务器上的表未包含那些行数。未向主文件复制任何行。
HY000 表中包含的行数小于最后一个行计数。 提供了结束行号,但服务器上的表未包含那些行数。
HY000 表没有 text/image 列。 调用了 bcp_moretext,但表不包含任何 text image 列。
HY000 TDS 缓冲区长度过大。 服务器的 TDS 流无效。此问题一般是由 SQL Server 问题引起的。请查看SQL Server 错误日志。
HY000 文本列数据不完整。 bcp_moretext 所提供的长度的总和与 bcp_bind 或 bcp_collen 中所提供的长度不匹配。
HY000 BCP 主文件包含的行数小于第一个行计数。 提供了起始行号,但主文件未包含那些行数。未装载任何行。
HY000 行长度超过了 SQL Server 所允许的最大长度。 行的数据长度的总和大于最大行大小。
HY000 无法在服务器上找到完成此操作所需的存储过程(用 SQL Server 提供)。请与系统管理员联系。 通过执行 /Msqql/Install/Instcat.sql 安装 ODBC 目录存储过程。
HY000 无法装载通讯模块。未正确安装驱动程序。 此客户端上不存在为该连接指定的网络库 .dll。在客户端安装客户实用工具,然后重新启动应用程序。
HY000 无法打开 BCP 主数据文件。 在 bcp_init 调用中指定的文件名不存在,或已由另一个应用程序打开。
HY000 无法打开 BCP 错误文件。 在 bcp_init 调用中指定的错误文件名不存在,或已由另一个应用程序打开。
HY000 无法读取驱动程序版本。 驱动程序无法在其 .DLL 中读取版本块。在客户端安装客户实用工具,然后重新启动应用程序。
HY000 在 BCP 数据文件中遇到意外 EOF。 在执行 bcp in 操作过程中,在处理最后一行的过程中,检测到了文件结尾。通常,这是由于原始表和正在装载的表具有不同的列数、类型、为空性或大小而造成的。
HY000 Unicode 转换失败。 在和 Unicode 字符串之间进行转换时出错。本机错误将包含该 Win32 错误代码。
HY000 Unicode 转换失败。必须在客户系统上安装 SQL server 代码页。 服务器代码页必须在客户端存在,方能执行正确的操作。清除 DSN 的"自动转换"复选框,或在客户端安装服务器的代码页。运行 EXECsp_server_info 18 可以确定服务器代码页。
HY000 从 SQL Server 接收到未知的令牌环。 服务器的 TDS 流无效。此错误一般是由服务器上的问题引起的。请查看SQL Server 错误日志。
HY000 警告:部分插入/更新。插入或更新 text 或 image 列不成功。 在插入或更新 textimagentext 列的过程中发生了错误。该列将包含不正确的数据。如果可能,请回滚事务。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/feixue0000/article/details/15813747

智能推荐

vue引入原生高德地图_前端引入原生地图-程序员宅基地

文章浏览阅读556次,点赞2次,收藏3次。由于工作上的需要,今天捣鼓了半天高德地图。如果定制化开发需求不太高的话,可以用vue-amap,这个我就不多说了,详细就看官网 https://elemefe.github.io/vue-amap/#/zh-cn/introduction/install然而我们公司需要英文版的高德,我看vue-amap中好像没有这方面的配置,而且还有一些其他的定制化开发需求,然后就只用原生的高德。其实原生的引入也不复杂,但是有几个坑要填一下。1. index.html注意,引入的高德js一定要放在头部而_前端引入原生地图

ViewGroup重写大法 (一)-程序员宅基地

文章浏览阅读104次。本文介绍ViewGroup重写,我们所熟知的LinearLayout,RelativeLayout,FrameLayout等等,所有的容器类都是ViewGroup的子类,ViewGroup又继承View。我们在熟练应用这些现成的系统布局的时候可能有时候就不能满足我们自己的需求了,这是我们就要自己重写一个容器来实现效果。ViewGroup重写可以达到各种效果,下面写一个简单的重写一个Vi..._viewgroup 重写

Stm32学习笔记,3万字超详细_stm32笔记-程序员宅基地

文章浏览阅读1.8w次,点赞279次,收藏1.5k次。本文章主要记录本人在学习stm32过程中的笔记,也插入了不少的例程代码,方便到时候CV。绝大多数内容为本人手写,小部分来自stm32官方的中文参考手册以及网上其他文章;代码部分大多来自江科大和正点原子的例程,注释是我自己添加;配图来自江科大/正点原子/中文参考手册。笔记内容都是平时自己一点点添加,不知不觉都已经这么长了。其实每一个标题其实都可以发一篇,但是这样搞太琐碎了,所以还是就这样吧。_stm32笔记

CTS(13)---CTS 测试之Media相关测试failed 小结(一)_mediacodec框架 cts-程序员宅基地

文章浏览阅读1.8k次。Android o CTS 测试之Media相关测试failed 小结(一)CTSCTS 即兼容性测试套件,CTS 在桌面设备上运行,并直接在连接的设备或模拟器上执行测试用例。CTS 是一套单元测试,旨在集成到工程师构建设备的日常工作流程(例如通过连续构建系统)中。其目的是尽早发现不兼容性,并确保软件在整个开发过程中保持兼容性。CTS 是一个自动化测试工具,其中包括两个主要软件组件:CTS tra..._mediacodec框架 cts

chosen.js插件使用,回显,动态添加选项-程序员宅基地

文章浏览阅读4.5k次。官网:https://harvesthq.github.io/chosen/实例化$(".chosen-select").chosen({disable_search_threshold: 10});赋值var optValue = $(".chosen-select").val();回显1.设置回显的值$(".chosen-select").val(“opt1”);2.触发cho..._chosen.js

C++ uint8_t数据串如何按位写入_unit8_t 集合 赋值 c++-程序员宅基地

文章浏览阅读1.9k次。撸码不易,网上找不到,索性自己写,且撸且珍惜!void bitsWrite(uint8_t* buff, int pos, int size, uint32_t value){ uint32_t index[] = { 0x80000000, 0x40000000, 0x20000000, 0x10000000, 0x8000000, 0x4000000, 0x2000000, 0x1000000, 0x800000, 0x400000, 0_unit8_t 集合 赋值 c++

随便推点

Javaweb框架 思维导图_javaweb框架图-程序员宅基地

文章浏览阅读748次。javaweb知识点_javaweb框架图

adb的升级与版本更新_adb iptabls怎么升级-程序员宅基地

文章浏览阅读1.1w次,点赞3次,收藏16次。adb是没有自动升级的命令的,如果想要更新adb的版本,我们可以在网上找到自己想要的版本进行更新给大家提供几个版本https://pan.baidu.com/s/1yd0dsmWn5CK08MlyuubR7g&shfl=shareset 提取码: 94z81、下载解压后我们可以找到下面几个文件,并复制2、找到adb安装的文件夹下的platform-tools文件夹,我这里是..._adb iptabls怎么升级

微信苹果版删除所有的聊天记录的图文教程_mac微信怎么删除聊天列表-程序员宅基地

文章浏览阅读3.8k次。很多用户可能都知道怎么在Windows系统上删除微信的聊天记录,那么苹果电脑上的微信软件怎么删除所有的聊天记录呢?下面小编就专门来给大家讲下微信mac版删除所有的聊天记录的图文教程。点击后会弹出提示窗口,点击这里的确认按钮就可以将其清理掉了。在这里选择要清理的数据,然后点击下方右边的清理按钮就行了。在mac上打开微信后,点击左下角的横线图标。然后再点击这里的管理微信聊天数据按钮。打开了设置窗口,点击上方的“通用”。在这里点击下方的前往清理按钮。点击弹出菜单里的“设置”。_mac微信怎么删除聊天列表

【报错笔记】数据类型转换时报错:Request processing failed;nested exception is java.lang.NumberFormatException:..._request processing failed; nested exception is jav-程序员宅基地

文章浏览阅读7.7k次。数据类型转换时报错:Request processing failed;nested exception is java.lang.NumberFormatException:For input String “20151512345”报错原因:数字格式异常,接着后面有 For input string: “201515612343” 提示,这就告诉我们你当前想把 “201515612343” 转换成数字类型时出错了。解决方案:使用2015151612343这个数字太大了,所以直接使用string_request processing failed; nested exception is java.lang.numberformatexcepti

qml 自定义消息框_Qt qml 自定义消息提示框-程序员宅基地

文章浏览阅读387次。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/a844651990/article/details/78376767Qt qml 自定义消息提示框QtQuick有提供比较传统的信息提示框MessageDialog,但是实际开发过程并不太能满足我们的需求。下面是根据controls2模块中..._qml 自定义 messagedialog

Redis.conf 默认出厂内容_默认出厂的原始redis.conf文件全部内容-程序员宅基地

文章浏览阅读599次。# Redis configuration file example.## Note that in order to read the configuration file, Redis must be# started with the file path as first argument:## ./redis-server /path/to/redis.conf # Note on units: when memory size is needed, it is pos._默认出厂的原始redis.conf文件全部内容

推荐文章

热门文章

相关标签