问题标签 [ora-01461]

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 回答
3447 浏览

oracle - Oracle 单表常量使用 JDBC 与 CLOB 合并

作为这个问题的后续行动,我需要以下情况的帮助:

在 Oracle 中,给定一个简单的数据表:

我正在使用以下合并命令:

我正在通过 Java 应用程序中的 JDBC 调用查询。

当 "value" 字符串很大时,上面的查询会导致以下 Oracle 错误:

我什至设置了此处记录的“SetBigStringTryClob”属性,结果相同。

鉴于“价值”是 CLOB,是否有可能实现我想要的行为?

编辑:客户端环境是 Java

0 投票
2 回答
4896 浏览

oracle - 使用 CLOB 绑定通过 JDBC 执行 sql 语句

我有以下查询(列日志的类型为 CLOB):

当使用 setAsciiStream 方法将超过 4000 个字符的值放入日志列时,上面的查询可以正常工作。

但是我不想替换该值,而是想附加它,因此我的查询如下所示:

上面的查询不再起作用,我收到以下错误:

0 投票
3 回答
13045 浏览

xml - 将超过 4000 个字符的 XML 插入 Oracle XMLTYPE 列

我有一个 oracle 表,其中有一列来自“ SYS.XMLTYPE”类型的列和一个正在执行插入的存储过程:

(精简版):

我从我的 C# 代码中调用这个 sp,类型为“ OracleType.LongVarChar”。

现在的问题:如果 xml 的字符少于 4000 个,一切正常,但是通过使用超过 4000 个字符的 xml,我得到以下错误:

我该如何处理?谢谢 4 个答案

0 投票
2 回答
2199 浏览

java - 春天的oracle clob插入问题

我想将 CLOB 值插入到我的 Oracle 数据库中,这就是我可以做的。插入操作“ORA-01461:只能绑定 LONG 值以插入 LONG 列”时出现此异常。有人能告诉我我该怎么做吗?谢谢。

0 投票
1 回答
518 浏览

sql - SQL 加载程序错误 350

在过去的几个小时里,我试图将一个 .xml 数据文件加载到 oracle 中,但没有成功。

======这是我的 .ctl 文件====

但是,我每隔一行都有以下错误:

文章表如下:

0 投票
1 回答
1135 浏览

perl - 将 perl 中的多字节字符插入 oracle 时遇到 ORA-01461

我有一个 perl 脚本,它将文本文件中的记录插入到我们的数据库中。每当记录有像“RODR_Í_GUEZ”这样的多字节字符时。我收到错误 ORA-01461,但是我距离从 varchar2 切换到 long 的 4000 个字符还差得很远

环境:

在连接之前似乎没有帮助。

使用 java 客户端(SQuirreL SQL)并手动编写 INSERT INTO 语句可以很好地插入记录,所以我确定这不是数据库的配置方式。

有什么想法吗?

0 投票
1 回答
2067 浏览

oracle - ORA-01461 带有 MERGE INTO 语句和 clob 列

查询:

桌子:

结果:当存在一行时,我们得到 ORA-01461。

期望的目标:这是对该表中一行有效的“创建或替换”操作。如果表中存在“名称”,则应更新 xml 列,否则插入新行。

0 投票
1 回答
7537 浏览

sql - 更新具有 CLOB 列的表时出错:ORA-01461

我在 Oracle 数据库中有一个表,如下所示,

如果我尝试将大小超过 4000 的 varchar2 变量插入 CLOB 列,它会毫无问题地插入。

如果我尝试如下更新 CLOB 列,它工作得很好。

但是,如果我尝试按如下方式运行更新语句,则会由于“ORA-01461:只能绑定 LONG 值以插入 LONG 列”错误而失败。

我怀疑是 NVL 功能导致了问题。对此的任何帮助都将受到高度赞赏。

注意:我在示例中使用了一个简单的表,但实际上该表有几个列,并且更新语句必须一次更新许多列。

0 投票
2 回答
2752 浏览

java - Oracle 休眠 ORA-01461 CLOB

//大家好。我的问题是我不能在 clob 字段中写大日期。curentli 我可以写长度不超过 4000 的字符串。你能解释一下为什么我不能将 clob 写入 clob 字段。我在用着:

  • Oracle 数据库 11g 企业版 11.2.0.1.0 版
  • 列表项休眠 4.2.6.Final
  • 列表项 ojdbc 11.1.0.7.0

我的实体是:

我更新实体的代码:

我尝试了几种创建 Clob 的方法:

两种方式都抛出异常:

编辑

表是

此代码在 SQL Developer 中执行良好

0 投票
2 回答
1958 浏览

java - PreparedStatement + Select for update + Oracle 12c + ORA-01461 在主键列

尝试执行 select for update 语句然后随后执行插入或更新时,我遇到了一个奇怪的问题。我得到一个ORA-01461异常。这只发生在使用最新的 ojdbc 驱动程序 ( 12.1.0.2 ) 时,而在较旧的驱动程序中它工作正常 ( 12.1.0.1 )。

更具体地说,最新的驱动程序似乎对主键字符长度有某种限制(限制为 32 个字符),尽管相应的列被声明为超过 32 个字符。复制问题的示例代码如下:

还有一些java:

main 方法的第一行创建了一个 uuid

这是 36 个字符长。运行此示例类将产生 ORA-01461 错误,但将上述行更改为

生成 32 个字符的字符串将正确运行并在数据库中插入行。请注意,保存上述字符串的“TEST_ID”列是 VARCHAR2(40 CHAR),可以同时容纳 32 和 36 个字符的字符串。将列的长度增加到更大的数字不会改变任何事情。

我希望我的示例代码易于阅读和理解,我期待这个问题的解决方案/解释。

谢谢!

数据库信息:

稍作修改以运行具有相同数据的插入语句,以表明这个问题比看起来更奇怪(关于 uuid 字符串长度)。以下示例代码使用最新的 oracle 驱动程序正确执行: