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 |
|
沙发#
发布于:2018-05-06 20:28
haohaoxuexi,haohaoxuexi,haohaoxuexi,
|
|
板凳#
发布于:2018-05-06 20:28
haohaoxuexi,haohaoxuexi,haohaoxuexi,haohaoxuexi,
|
|
地板#
发布于:2018-05-06 20:28
haohaoxuexi,haohaoxuexi,
|
|
4楼#
发布于:2018-05-06 20:34
urcsurcsurcsurcs
|
|
5楼#
发布于:2018-05-06 20:34
urcsurcsurcsurcsurcsurcsurcssss
|
|
6楼#
发布于:2018-05-06 20:35
haohaoxuexi,haohaoxuexi,haohaoxuexi,haohaoxuexi,
|
|
7楼#
发布于:2018-05-06 20:40
HAOHAOXUEXI,
|
|
8楼#
发布于:2018-07-18 21:51
辛苦了谢分享
|
|
9楼#
发布于:2019-09-09 18:52
学习了,感谢楼主分享!!!
|
|