sql 错误
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 超时失效
参考资料:
1、 http://yangsm.blog.51cto.com/1065729/1427654 ODBC 错误信息:SQL Error: 1048, SQLState: 23000,数据库中有不能为空的字段