问题标签 [ora-01722]

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.

0 投票
6 回答
7278 浏览

sql - 无效号码错误!似乎无法绕过它

甲骨文 10g 数据库。我有一张桌子叫s_contact. 该表有一个名为 的字段person_uid。此person_uid字段是 varchar2,但包含某些行的有效数字和其他行的无效数字。例如,一行可能有一个person_uid“2-lkjsdf”,另一行可能是 1234567890。

我想只返回 person_uid 中具有有效数字的行。我正在尝试的 SQL 是...

翻译用空格替换所有数字,因此如果字段仅包含数字,则修剪将导致 null。然后我使用 decode 语句设置一些代码进行过滤。n=数字,c=字符。

当我只运行预览时,这似乎有效,但是当我添加过滤器时出现“无效号码”错误......

我只是不明白发生了什么!它应该过滤掉所有无效数字的记录,而 100 显然是一个数字......

有什么想法吗?非常感激!

0 投票
2 回答
3596 浏览

sql - 在 Oracle 11g 中调用成员过程

可以说我有:

我怎么打电话insert_address

通过执行以下操作,我得到invalid number or types of arguments

我可以做到这一点并且它有效,但似乎是个坏主意:

谢谢

0 投票
1 回答
33996 浏览

performance - oracle number 和 varchar join

我有一个连接两个表的查询。一个表具有 varchar 类型的列,而另一个表具有数字类型。我已经在 3 个 oracle 数据库上执行了查询,并且看到了一些奇怪的结果,希望可以得到解释。在其中两个数据库上,如下所示。

在这个查询中,tableA.col1 是 number 类型,tableB.col2 是 varchar 类型。这在其中两个数据库中运行良好,但在第三个数据库中却不行。在第三个我得到(ORA-01722)错误。在第三个中,我需要做类似的事情......

这适用于所有数据库。我的问题是为什么?上面是一个简化的查询,真正的查询稍微复杂一些,而且要检索很多数据,所以第一个版本要快得多。如果我能让它在所有环境中工作,那就太好了。

有谁知道为什么这可能在某些 oracle 数据库中有效,而在其他没有数据类型的情况下则无效?是否存在启用此类行为的全局设置?

0 投票
3 回答
6893 浏览

sql - ORA-01722: 无效号码

我收到了臭名昭著的无效号码 Oracle 错误。Hibernate 正在发出一个包含很多列的 INSERT,我只想知道给出问题的列的名称。是否可以?

仅供参考,插入是这样的:

0 投票
4 回答
11592 浏览

sql - Oracle 中的 TO_NUMBER 函数出现奇怪问题

如果记录数超过某个数字 n,则在 varchar2 列的 where 子句中执行 to_number 函数时遇到间歇性问题。我使用了 n 因为没有确切的记录数量。在一个 DB 上,它发生在 n 为 100 万之后,而另一个 DB 为 0.1。百万。

例如,我有一个包含 1000 万条记录的表,比如 Table Country,它的 field1 varchar2 包含数字数据和 Id

如果我以查询为例

这有效

但是如果我做查询

说无效号码失败

接下来我尝试查询

它再次起作用

因为我只得到了无效的号码,所以很混乱,但在日志文件中它说

它似乎与 SGA 大小有关,但谷歌在这方面并没有给我太多帮助。

有人对 TO_NUMBER 或大数据的 oracle 函数的这个问题有任何想法吗?

0 投票
1 回答
319 浏览

vb.net - Oracle XE + ODP.NET 恼人的视图错误

伙计们,这是我的观点:

当我执行 SELECT * FROM SISTEMA.VWTELA 时,它在 PL/SQL Developer 中运行良好,但是当我从我的 VB.NET 应用程序启动查询时,它会抛出一个非常烦人的错误 ORA-01722。

有任何想法吗?应用程序代码可以完美地与任何查询一起工作,因此它不是应用程序代码错误,而是来自 ODP.NET 的一些“超酷功能”。

已经尝试过 to_number、to_whatever 并且总是会发生相同的错误。

0 投票
1 回答
1405 浏览

sql - 从具有数值的 varchar2 列中选择有时会给出无效数字错误

我试图理解为什么在某些系统上,当我尝试从 varchar2 列中选择一个值时,我会收到一条无效数字错误消息,而在其他系统上,我在执行完全相同的操作时却没有收到错误消息。

表是这样的:

和一个查询:

:som​​e_number_value 始终为数字,但可以为空。

我们已经修复了查询:

这个原始查询在大多数系统上运行良好,但在某些系统上会给出“无效号码”错误。问题是为什么?为什么它适用于大多数系统而不适用于某些系统?

0 投票
2 回答
1715 浏览

sql - 获取时强制 Oracle 错误

我正在尝试在我的应用程序中调试一个奇怪的行为。为此,我需要重现 SQL SELECT 查询将引发错误的场景,但仅在实际从游标中获取时,而不是在执行查询本身时。这可以做到吗?任何错误都可以,但ORA-01722: invalid number似乎是显而易见的尝试。

我创建了一个表格,如下所示:

然后,我创建了几百行,其中主键的唯一值lothercol. 然后我运行了一个 SELECT * 查询,在中间某处选择了一行,并将其更新为 string abcd。我运行了查询SELECT KEYCOL, TO_NUMBER(OTHERCOL) FROM SOMETABLE,希望能得到一些好的数据行,然后是一个错误。但我一直ORA-01722: invalid number在执行步骤本身。

我已经使用 ADO(带有服务器端游标)和 JDBC 以及 PL/SQL Developer 以编程方式获得了这种行为。我怎样才能得到我正在寻找的结果?谢谢

编辑 - 意在添加,使用 ADO 时,我只调用Command.Execute. 我没有创建或打开记录集。

0 投票
1 回答
1137 浏览

oracle - 获取服务器端游标时 ADO“未指定错误”而不是实际错误

这与我最近的问题有关:Force Oracle error on fetch

我现在能够重现将 ADO 与 Oracle OLEDB 提供程序一起使用的场景,我可以强制发生错误,例如ORA-01722: invalid number在调用时发生Recordset.MoveNext但是,这不是返回给应用程序的错误。相反,应用程序看到Provider error '80004005' Unspecified error. 如何让应用程序从数据库中查看真正的错误?如果重要的话,这适用于 Oracle 10g(客户端和服务器)。

示例代码大致如下:

0 投票
2 回答
1926 浏览

c# - 来自 C# 的 Oracle 无效数字错误

我在我的 C# .Net 应用程序中运行以下代码,但我不断收到错误ORA-01722: invalid number。当直接在 PL/SQL Developer 中运行相同的 SQL 时,它完全按照我的要求执行,而不会抱怨。

这可能是什么原因造成的?

注意:我正在使用 Oracle.DataAccess.Client