Perry
管理员
管理员
  • 发帖数213
  • QQ396572376
  • 金币41470两
  • 威望11348点
  • 钻石8888枚
  • 注册日期2016-11-09
  • 最后登录2024-04-25
  • VIP会员
  • 荣誉会员
  • 优秀斑竹
  • 最爱沙发
  • 原创写手
  • 社区居民
阅读:18462回复:9

[资源分享]ORACLE sqlcode状态码说明

楼主#
更多 发布于:2016-12-24 17:54
sqlca通讯区中:
sqlcode:
=0:该SQL语句被正确执行,没有发生错误和例外
>0:oracle执行了该SQL语句,但遇到一个例外。当ORACLE未找到满足where 子句检索条件的行时,或者SELECT 或FETCH未有行返回时,就出现例外。
<0:表示由于数据库、系统、网络或应用程序的错误,ORACLE未执行该SQL语句,
当出现这类错误时,当前事务一般应回滚。
具体sqlcode代码:
0:成功
-1:失败
100:没有检索到数据
可能发生的错误列表:
-12, Out of memory in line %d.
通常不出现这个错误。这是你的虚拟内存耗尽的标志。
-12没有足够的核心。                                                                        
作业系统错误代码的含义
意外地返回到数据库服务器。 “核心”可能
是指操作系统所需要的数据在内存空间
功能。操作系统的错误消息可能会
了解更多信息。
-200, Unsupported type %s on line %d.
通常不出现这个错误.这表明预编译器生成了一些库(函数)不认得的东西.可能你运行的预编译器和当前库不兼容.
 -200
 标识符太长。                                                            
在SQL语句的标识符必须是长度为18个字符或更少。
检查语句,以确保没有标识符的长度,
以及有没有错误的标点符号(例如,缺少
空格或逗号),可能使这两个名字看起来像一个。

-201, Too many arguments line %d.
这意味着 Postgres 返回了比我们的匹配变量更多的参数.可能你漏了几个INTO :var1,:var2-列表里的宿主变量.
-201语法错误已经发生。                                                                            
这是一般的错误代码的形式对所有类型的错误
一个SQL语句。寻找丢失或多余的标点符号(例如,
例如,丢失或多余的逗号,括号遗漏周围
子查询等),关键字的拼写错误(例如VALEUS为
值),关键字滥用(例如,在INSERT
声明,在子查询),关键字的序列(
的条件“价值”,而不是“没有价值”),或
作为标识符的保留字的使用。
                                                                                
注:支持“NIST符合全的数据库服务器,”不储备
任何与这些数据库服务器的查询可能会失败,
错误-201一起使用时,早期的实现。
-202, Too few arguments line %d.
这意味着 Postgres 返回了比我们的对应宿主变量要少的参数.可能你多输入了几个INTO :var1,:var2-列表里的宿主变量.
-202 在声明中已经发现非法字符。
                                                                                
一个字符不能被理解为一个SQL语句的一部分
嵌入在本声明。如果该语句,构建了
一个程序,很可能是一个非打印字符控制
字符。确保语句只包含可打印的ASCII
字符和重新执行它。
-203, Too many matches line %d.
着意味着查询返回了多个行,但你声明的变量不是数组.你执行的 SELECT 可能不是唯一的.
-203
在声明中已经发现了一个非法的整数。                                                                              
一个整数值,是不可接受的数字
不变。检查语句的数字,应该是
整数,但其中包含小数点或字母“e”或
大于2,147,483,647(231-1)。
-204, Not correctly formatted int type: %s line %d.
着意味着宿主变量是一个 int 类型并且 Postgres 数据库里的字段是另一种类型,包含着一个不能转换成一个 int 类型的数值.库(函数)使用 strtol 做此类转换.
-204
 在声明中已发现一个非法的浮点数。                                                                                
一个数字常量中不时像一个浮点数
(与小数点和/或指数开始以“e”)是
不能接受的。指数可能是大于可以被处理。
-205, Not correctly formatted unsigned type: %s line %d.
着意味着宿主变量是一个 unsigned int(无符号整数)类型而Postgres 数据库里的字段是另外一种类型并且包含一个不能转换成unsigned int 的数值.库(函数)使用 strtoul 做这类转换.
-205
 无法使用ROWID的意见聚集,group by或
多个表。                                                                    
关键字ROWID代表中存在的一个虚拟列
只有简单的表格。这说的是一个表的ROWID
这实际上是一种观点认为,是基于一个选择涉及
聚合函数,分组或两个或多个表的联接。这样
查询的产品不具有ROWID列,因此,这
查看,即使它出现是一个表,也没有一个
ROWID。为了在查询中使用ROWID,你必须申请
查询表所依据的观点。
-206, Not correctly formatted floating point type: %s line %d.
着意味着宿主变量是一个 float (浮点)类型而 Postgres 数据库里的字段是另外一种类型并且包含一个不能转换成 float 的数值.库(函数)使用 strtod 做这类转换.
-207, Unable to convert %s to bool on line %d.
这意味着宿主变量是一个 bool (布尔)类型,而 Postgres 数据库里的字段值既不是 't' 也不是 'f'。
-208, Empty query line %d.
Postgres 返回 PGRES_EMPTY_QUERY,可能的原因是该查询实际上是空的。
-220, No such connection %s in line %d.
程序试图访问一个不存在的联接。
-221, Not connected in line %d.
程序试图访问一个存在的,但是没有打开的联接。
-230, Invalid statement name %s in line %d.
你试图使用的语句还没准备好。
-400, Postgres error: %s line %d.
某种 Postgres 错误。该消息包含来自 Postgres 后端的信息。
 
-400
 取试图在未开封光标。                                                                              
这从来没有打开的游标FETCH语句的名称,
或已被关闭。检查程序逻辑,并确保
在此之前,它会打开游标,而不是偶然
将其关闭。请注意,除非在声明游标WITH HOLD,它是
COMMIT WORK或ROLLBACK工作的的自动关闭。
-401, Error in transaction processing line %d.
Postgres 给我们的信号,表明我们无法开始,提交或者回卷该事务。
 
-402, connect: could not open database %s.
与数据库的联接无法工作。
sqlca.sqlcode == 100, Data not found line %d.
这是一个"正常的"错误,告诉你你正在查询的东西找不到或者我们已经越过了游标的范围。
 
sqlerrm.sqlerrmc:保留与sqlcode中的错误代码相对应的错误信息文本。信息文本长度不超过70个字符。要取得长于70个字符的完整信息文本,必须用SQLGLM()函数。只有当sqlcode中的代码为负时,才引用sqlerrmc中的信息。如果当slqlcode中的代码为0时,引用了sqlerrmc,则取出的是与前面的SQL语句有关的信息。
sqlglm(mes_buf,&buff_size,&mess_len);获取更完整的错误信息。错误信息放在mes_buf中,buf_size:缓冲区的长度(mes_buf)。mes_len:实际错误信息的长度。

sqlerrd[2]:保存当前SQL语句处理的函数。如果在处理中间出现错误,则sqlerrd[2]给出成功处理的行数。在OPEN语句执行后,swlerrd[2]被置为0,FETCH后增值。
 
在linux下用命令 “oerr ora 错误代码”查询错误信息。注意一点的是如果错误代码为负的,则在使用命令时直接写正值,将负号去掉。
 
 

sqlserver2008分页查询....
 
SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY id asc) AS rownum,
id
FROM company ) AS D
WHERE rownum BETWEEN (@pageIndex-1)*@pageSize+1 AND @pageIndex*@pageSize
喜欢0 评分0
官方QQ群:556775727  
syoom.song
中级会员
中级会员
  • 发帖数88
  • QQsyoom.song@q
  • 金币0两
  • 威望100点
  • 钻石0枚
  • 注册日期2018-05-06
  • 最后登录2018-05-06
沙发#
发布于:2018-05-06 20:28
haohaoxuexi,haohaoxuexi,haohaoxuexi,
回复(0) 喜欢(0)     评分
syoom.song
中级会员
中级会员
  • 发帖数88
  • QQsyoom.song@q
  • 金币0两
  • 威望100点
  • 钻石0枚
  • 注册日期2018-05-06
  • 最后登录2018-05-06
板凳#
发布于:2018-05-06 20:28
haohaoxuexi,haohaoxuexi,haohaoxuexi,haohaoxuexi,
回复(0) 喜欢(0)     评分
syoom.song
中级会员
中级会员
  • 发帖数88
  • QQsyoom.song@q
  • 金币0两
  • 威望100点
  • 钻石0枚
  • 注册日期2018-05-06
  • 最后登录2018-05-06
地板#
发布于:2018-05-06 20:28
haohaoxuexi,haohaoxuexi,
回复(0) 喜欢(0)     评分
syoom.song
中级会员
中级会员
  • 发帖数88
  • QQsyoom.song@q
  • 金币0两
  • 威望100点
  • 钻石0枚
  • 注册日期2018-05-06
  • 最后登录2018-05-06
4楼#
发布于:2018-05-06 20:34
urcsurcsurcsurcs
回复(0) 喜欢(0)     评分
syoom.song
中级会员
中级会员
  • 发帖数88
  • QQsyoom.song@q
  • 金币0两
  • 威望100点
  • 钻石0枚
  • 注册日期2018-05-06
  • 最后登录2018-05-06
5楼#
发布于:2018-05-06 20:34
urcsurcsurcsurcsurcsurcsurcssss
回复(0) 喜欢(0)     评分
syoom.song
中级会员
中级会员
  • 发帖数88
  • QQsyoom.song@q
  • 金币0两
  • 威望100点
  • 钻石0枚
  • 注册日期2018-05-06
  • 最后登录2018-05-06
6楼#
发布于:2018-05-06 20:35
haohaoxuexi,haohaoxuexi,haohaoxuexi,haohaoxuexi,
回复(0) 喜欢(0)     评分
syoom.song
中级会员
中级会员
  • 发帖数88
  • QQsyoom.song@q
  • 金币0两
  • 威望100点
  • 钻石0枚
  • 注册日期2018-05-06
  • 最后登录2018-05-06
7楼#
发布于:2018-05-06 20:40
HAOHAOXUEXI,
回复(0) 喜欢(0)     评分
yang6248
中级会员
中级会员
  • 发帖数80
  • QQ1978261194
  • 金币41两
  • 威望40点
  • 钻石0枚
  • 注册日期2018-07-17
  • 最后登录2019-03-08
8楼#
发布于:2018-07-18 21:51
辛苦了谢分享
回复(0) 喜欢(0)     评分
mythls
中级会员
中级会员
  • 发帖数60
  • QQ258169897
  • 金币76两
  • 威望84点
  • 钻石0枚
  • 注册日期2019-09-06
  • 最后登录2020-04-18
9楼#
发布于:2019-09-09 18:52
学习了,感谢楼主分享!!!
回复(0) 喜欢(0)     评分
游客

返回顶部