问题标签 [ora-06502]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - oracle plsql 聚合错误:ORA-06502:字符串缓冲区太小
我编写了一个简单的聚合函数,它应该通过聚合生成的 csv 字符串中的不同值来处理包含 csv 文本的列。当它应该返回结果时,当它出现 ORA-06502 错误时,这些函数似乎一直工作到最后。
这是代码:
类型定义:
身体:
这是一个测试表和数据:
最后,如果我尝试使用聚合函数会发生这种情况:
如果我只是在违规行中传递一个像“x”这样的字符串,我仍然会得到同样的错误。只有在空结果上它才会消失。我被难住了,没有想法。
谢谢你的帮助。
顺便说一句,如果有人知道为什么我在 agg_union 函数参数中添加了 \0 字符,我也很想知道这一点。
oracle - 数值或值错误:字符串缓冲区太小
我在使用 oracle application express 中的这个简单查询时遇到了问题,并且收到了这个错误:
无法解析查询,请检查查询的语法。(ORA-06502: PL/SQL: 数字或值错误: 字符串缓冲区太小)"
oracle - ORA-06502 用 varchar2 从 clob 转换
我用 clobs 和 varchar2 做了一些实验。问题是我们在数据库表中有很多 XML,我想尽快下载 XML。由于我需要使用 C# DevArt 组件,我尝试了各种方法,发现 clob(它们涉及每行到数据库的一次往返)比 varchar2 慢得多。
因此,我现在分两步下载数据。首先尽可能多地使用 varchar2(4000 字节限制),然后将其他所有内容作为 clob。
现在是棘手的部分。我想出了以下查询来找出我可以检索为 varchar2 的内容:
该查询基于这样的假设,即 length 返回 clob 的字符数,而 substr 返回具有一定字节数的字符串。它不仅适用于长度,因为那样我会遇到像 à é oder è 这样的多字节字符的麻烦。但现在我有另一个非常奇怪的行为。上面的查询适用于大多数行,但对于其中一些行,它仍然会引发 ORA-06502。但是,如果我将限制更改为 3992,它总是有效???(作为信息,我们还将图片的缩略图存储为 xml 中的 Base64 编码字符串)。
现在有谁知道为什么查询在所有情况下都不起作用。或者有没有人建议如何编写一个查询来确定是否可以将 clob 作为 varchar2 检索?
vb.net - 错误的 Oracle 数字或值错误
我有一个持续的问题,其中 Windows 服务收到此 Oracle 错误:
消息:ORA-06502:PL/SQL:数字或值错误:字符到数字的转换错误
但是,我确信我正在将一个数值传递给 Oracle。通过使用我们的 Oracle DBA 和 Oracle 支持票,我们能够捕获 Oracle 服务器接收到的内容。我的问题是绑定变量#10。Oracle 在服务器上的跟踪日志中报告的值为“ A@Y8 ”。但是,我实际发送的值是167569173。
Oracle 值“A@Y8”看起来并不熟悉——它不是来自另一个字段的值。它在 Oracle 跟踪文件中始终是相同的值 - 始终为 A@Y8。但是我发送的每条记录的数值都不同。
该服务每隔几分钟从外部源提取数据并将其插入 Oracle。它工作了大约两天,然后我得到了 ORA-06502。一旦我收到 Oracle 错误,我每次都会不断收到它,直到我重新启动服务。当服务重新启动时,它可以工作几天——即使它正在提取导致错误的相同数据。
- Windows 服务是用 VB.Net 编写的。
- 当我读取数据时,我将字段放入可为空的 Integer – Int32?。
- 我将此变量发送到抛出 ORA-06502 的 Oracle 包,并且跟踪值显示“A@Y8”的值。
- 然后我记录变量的值,我的日志将其显示为数字
(它记录为 167569173)。
转换错误发生在对过程的调用上。也就是说,当试图将参数传递给过程中的实际插入过程中的过程号时。
不知何故,当 Oracle 收到它时,我的代码中的整数值不是整数。似乎有一些腐败,但我不认为它在 Vb.Net 中。我的字段是一个整数,不会保存 Oracle 报告的值。如果该字段确实包含该值,那么它应该在我记录它时记录该值。
如何查看 Oracle 客户端向 Oracle 服务器发送的值?我找不到任何相关的客户端日志。
关于可能导致这种情况的任何想法?
这是 Oracle 跟踪条目:
这是我的代码:这是插入数据库的方法-它会引发错误:
在此之后,我调用此方法来记录值:
这是我传递给这两种方法的同一个对象。StaffingDocumentationID 字段是 Oracle 跟踪显示为 A@Y8 而日志显示为 167569173 的字段。
这是我传递的 manualUploadDocument 对象的定义。为简洁起见,我删除了某些方法中的代码 - 属性与此处相关,删除的代码不引用它们。
oracle - Ora-6502 数字或值错误,将空值插入到具有 NOT NULL 列的表中
我正在使用下面的BULK COMMIT
proc 将记录从TABLESOURCE
to插入TABLE1
。
COLUMN1
onTABLE1
定义为NOT NULL
。
有时我TABLE_SOURCE
返回零行,在这种情况下,我的 PROC 失败并出现错误:
Ora - 6502 数值或数值错误
我尝试使用NO_DATA_FOUND
in 异常忽略该错误,但它也不起作用。
你能告诉我如何解决这个问题吗?
xml - xmltype.getClobVal : ORA-06502: PL/SQL: 数值或数值错误
我的目标是通过 Oracle 10g 创建一个 xml 文件,我使用库 dbms_xmldom 来实现这一点。当我尝试通过 getClobVal 函数检索在 XMLType 中创建的 clob 时,服务器显示:
ORA-06502: PL / SQL: 数字或值错误
我的程序:
谢谢。
sql - 改变物化视图时下一个子句的条件
我试图在几天和几个小时之间刷新物化视图和我的代码:
但是我遇到了错误;ORA-06502: PL/SQL: numeric or value error%s
我试图解决我的问题,但我不能。有人对我的问题有任何想法吗?
谢谢。
java - 从 Java 插入时出现 ORA-06502 错误,但在 TOAD 中工作正常
我正在从 Java 的表中插入一行,但出现以下错误。但是在 TOAD 中执行的相同 sql 查询可以毫无问题地插入我的数据。
插入:
错误
编辑触发代码(我没有编写触发代码,我认为它是生成的):
你有什么想法 ?
谢谢
oracle - ORA-06502: PL/SQL: 数字或值错误: 字符串缓冲区太小。在第 23 行
我们可以帮我解决错误吗?
在 pl/sql 我有一个错误,但我找不到他!我认为变量 ast 有问题!
ORA-06502: PL/SQL: 数字或值错误: 字符串缓冲区太小。
java - 如何解决:CallableStatement 执行返回错误“ORA-06502: PL/SQL: numeric or value error: character to number conversion error”?
我尝试将数据从一个表的字符串字段放入另一个表的数字字段。
如果我在 Oracle SQL Developer 或 Toad 等 IDE 中执行此操作,它可以正常工作,但如果我在我的 java 代码中执行此操作,则会出现错误。
如何解决?
下面有我的例子。
数据库:我创建了两个表 - 带有数字字段的 t_num 和带有 varchar2 字段的 t_str - 并将值放入第二个表 t_str
我还创建了将值从 t_str 放到 t_num 的过程
网络逻辑服务器:
index.jsp:点击按钮向put.jsp发送请求
put.jsp:从具有 jndi 名称 jdbc/test 的数据源获取连接并调用过程 put_to_t_num
最后我在浏览器控制台中遇到错误:
但是如果我在 IDE 中做这样的事情,它工作得很好
我想这可能是编码的情况,但我无法在我的 java 代码中解决它。
如何解决这个问题?
我还发现,如果没有将值 2 3,3 2 添加到 t_str - 我得到了“成功”。
我该如何处理这种情况?
为什么IDE会这样做,而java代码却不这样做?