问题标签 [ora-00932]

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 投票
1 回答
745 浏览

oracle - ORA-00932 更新 CLOB 列时

我有一个大约 10 列类型为 VARHCAR 且大小 > 2000 的表。我试图通过使用临时列并在复制数据后重命名将它们转换为 CLOB。其中 4 列没有问题,但我得到所有剩余列的 ORA-00932。下面是为每一列重复的 SQL。

这是错误报告:

0 投票
2 回答
13591 浏览

sql - 如何通过表达式在组中创建 CLOB 列?有什么解决办法吗?

我有以下查询:

当我运行这个查询时,我得到了错误

ORA-00932: 不一致的数据类型预期得到 CLOB

这是因为该列Test_Case_Description是一种CLOB数据类型。如果我从 select 子句中评论此列,它可以正常工作,但我需要在输出中使用此列。

上面的查询是这里原始查询的简化版

0 投票
1 回答
4700 浏览

string - 实体框架和 Oracle:无法插入 VARCHAR2 > 1,999 个字符

我在 Oracle 表中创建了一个 4,000 个字符的 VARCHAR2 字段。我正在使用 LINQ to Entities with Visual Studio 2010、.NET Framework 4 和ODAC 11.2 Release 4 和 Oracle Developer Tools for Visual Studio (11.2.0.3.0)将字符串值插入到字段中。当我尝试插入大于 1,999 个字符的字符串值时,我得到以下内部异常:

Oracle.DataAccess.Client.OracleException

ORA-00932: 不一致的数据类型: 预期 - 得到 NCLOB

但是,使用 SQL Developer 时,我可以在字段中插入一个 4,000 个字符的字符串值,而不会出现任何问题。

有一个已知的 ODAC 错误源 #2),其中保存到 XMLTYPE 字段时有 2,000 个字符的限制,但我没有保存到 XMLTYPE 字段。我的 GAC 中有 Oracle.DataAccess 2.112.3.0,我考虑更新到上述 Oracle 软件的第 5 版 (11.2.0.3.20),但“Oracle Developer Tools for Visual Studio”似乎是唯一的组件从第 4 版更新,我相信“Oracle Data Provider for .NET 4”是需要更新的组件。在我的 .NET 项目中,System.Data.Entity 和 System.Data.OracleClient 都是运行时版本 4.0.30319。

无论如何,我只是想知道是否有其他人遇到过这个错误,如果是这样,是否找到了任何解决方案——除了上面链接的 Oracle 论坛线程中建议使用存储过程作为解决方法的解决方案。Google 告诉我,人们仅在使用 XMLTYPE 字段时才会遇到此错误,但我不能是唯一在使用 VARCHAR2 字段时遇到此错误的人,可以吗?

(FWIW,我也希望在上面链接的 Oracle 论坛帖子中以用户“997340”的身份收到对我的帖子的回复。如果我收到有用的回复,我一定会分享这方面的知识。)

编辑:如果有帮助,下面是我的代码中失败的两个块。我在对第一个块进行故障排除时创建了第二个块,只是为了看看是否有任何区别。在检查字符串值是否已插入(“if”语句)以及实际插入字符串值(“AddObject”语句)时,我得到了异常。

1:

2:

4月3日更新:

我能够跟踪从上面第一个代码块中的“if”语句发送到 Oracle 的 SQL。这里是:

不幸的是,与我合作的 DBA 没有为我提供“p_linq_0”参数的值,但如前所述,当它超过 1,999 个字符时,就会发生异常。(在跟踪这个 SQL 时,我传递了一个 4,000 个字符的字符串作为参数,当然发生了异常。)DBA 还提到了某些 SQL 客户端 - 例如 SQL Plus - 无法处理超过 2,000 个字符的 VARCHAR2 . 我没有完全遵循。是否使用 SQL此外,SQL Developer 或任何其他工具,Oracle 仍将查询 4,000 个字符的 VARCHAR2 字段。另外,我的幻数是 1,999 个字符;不是 2,000 个字符。DBA 是否可能意味着参数中可以包含多少个字符?更重要的是,当我在 SQL Developer 中执行此 SQL 并为参数输入一个 4,000 个字符的字符串时,它可以完美运行。所以我仍然对为什么它不能通过 LINQ to Entities 工作感到非常困惑。我还在我的程序中尝试了以下代码,以在“msg”变量中使用 4,000 个字符的字符串运行类似的查询,效果也很好:

现在,我仍然指责 ODAC 存在错误,因为它与 LINQ to Entities 相关......

0 投票
3 回答
7626 浏览

java - JPA Criteria Query 带有比较带注释的字段的谓词 @Convert 在执行时获得 ORA-00932

我正在开发一个 Java EE 7 应用程序(持久性提供程序是 Hibernate 4.3.5,DB 是 Oracle 11g),其中我正在使用一个实体类,它的 Long 字段表示日期的毫秒。这样做是为了避免使用 DB 的日期数据类型(例如时区处理)的问题。这是相关的实体类代码:

元模型类中的属性:

这是简单的 JPA 2.1 转换器:

表定义:

坚持和阅读字段值就像一种魅力。当我尝试在 CriteriaQuery 中使用谓词将字段与值进行比较时,问题就来了:

这是我得到的例外:

堆栈跟踪:

在条件查询谓词中使用此类字段的正确方法是什么?该转换器仅适用于读取/持久化。我一直在寻找一种方法,但即使在 JPA 2.1 规范(顺便说一句,它非常大)中也无法做到。我在这里想念什么?感谢您的关注。

0 投票
2 回答
3322 浏览

oracle - ORA-00932 在游标提取中

我在 ALREADY WORKING 代码中遇到了一个奇怪的问题。有一个工作过程pkg_pbrer.p_gen_pbrer_rpt返回v_po_report作为输出游标。

我正在尝试将此光标捕获到 table_po_report_62 中,这工作正常。

现在我面临的错误

ORA-00932: 不一致的数据类型: 在游标提取语句中预期 - 得到 -”。

为了便于理解,我省略了不必要的代码行。

0 投票
1 回答
11531 浏览

oracle11g - Oracle“ORA-00932:不一致的数据类型:预期的 NUMBER 得到了 TIMESTAMP”在 INSERT INTO 但不是 SELECT

在 SQL Developer 中运行以下命令:

导致此错误:

ORA-00932: 不一致的数据类型: 预期 NUMBER 得到了 TIMESTAMP

如果我删除第一部分 ( insert into table2),则 select 命令运行良好,并且如预期的那样不会返回任何记录。

Table1 和 table2 有 70 多列 VARCHAR2、TIMESTAMP 和 NUMBER。

表 1 和表 2 是由一个 APP 创建的,它遍历表 1 的列并创建表 2,唯一的区别是表 1 有许多索引,而表 2 有一个索引。

我已经验证 table1 和 table2 具有完全相同的列和数据类型。但是,“desc table1”和“desc table2”的输出以不同的顺序列出了列,但它们都匹配。

当我在以类似方式创建但列较少(它们仍然具有相同列类型)的其他表上运行该命令时,插入工作并且不显示错误。对这些表运行“desc”命令以相同的顺序列出列。

我通过谷歌搜索了很多错误,但找不到答案。我的 Oracle 版本是 11g。

知道为什么会返回此错误以及如何解决它吗?

0 投票
1 回答
843 浏览

php - ORA-00932: 不一致的数据类型: 预期的 CHAR 得到了 ARRAY

我正在尝试通过 PHP 获取数组,但收到以下错误:

我希望使用任何可用的收集方法在我的程序中提供 VARRAY 列。该查询在 Toad 上运行良好,但在 PHP 上却不行。

array_of_varchar是我收集的 VARRAY。

有什么提示可以解决这个问题吗?

0 投票
1 回答
1104 浏览

sql - ORA-00932 来自对方付费电话的不一致数据类型

当我能够在一行中使用 聚合结果时,我感到非常高兴cast(collect(value) as DBMSOUTPUT_LINESARRAY),如下例所示:

但是当我尝试对第一个查询的结果进行另一个聚合时,就像cast(collect(valueagg) as DBMSOUTPUT_LINESARRAY)我得到一个错误一样,如下例所示:

我尝试转换为 varchar2,即使它会限制结果——我对此并不担心,因为字符串的前 4000 个字符对我来说就足够了——但我无法做到这一点。

0 投票
1 回答
913 浏览

oracle11g - ORA-00932: inconsistent datatypes: expected - got CLOB - Getting XML from a clob column

I have this XML stored in a CLOB column:

I have this query to take the XML column and read it as a normal query result:

And i have this error:

ORA-00932: inconsistent datatypes: expected - got CLOB 00932. 00000 - "inconsistent datatypes: expected %s got %s"

I need to obtain this kind of result:

How can i solve this?

Thanks for your help.

0 投票
1 回答
57 浏览

ora-00932 - Java 上的 ORA-00932 错误

我有一个结论Dao.java 类来运行 sql 查询

它有

recomandation 在数据库中被定义为 CLOB 数据类型。我只知道 CLOB 数据类型不能与查询上的“=”符号一起使用。

但是当我用“like”替换等号时,ORA-00932 错误变成了 ORA-00927,它缺少 eqaul 符号错误。

你能给我一个关于这个问题的想法吗?这个问题可以通过使用三元运算符来解决,但我无法解决。

声明已经定义。我只需要改变;