问题标签 [ora-12899]

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 投票
2 回答
4924 浏览

oracle10g - 如何更改 Oracle 10gr2 速成版的默认字符集

我在笔记本电脑上安装了 oracle 10gr2 express edition。当我导入由 oracle 10gr2 企业版生成的 .dmp 文件时,出现错误。

生成 .dmp 文件的数据库服务器使用 GBK字符集运行,但我的 oracle express 服务器使用UTF-8运行。

如何配置我自己的 oracle 服务器来导入 .dmp 文件?

编辑 - - - - - - - - - - - - - - - - - - - - - - - - - -- 我自己的 oracle express 服务器:

0 投票
1 回答
3835 浏览

oracle - ORA-12899,而实际值长度小于最大值

我使用 SQL*Loader 加载了一些数据并获得了以下奇怪的错误消息:

ORA-12899: 列 AELS_AENDBESCHR 的值太大(实际值:69,最大值:70)

ORA-12899: 列 AELS_AENDBESCHR 的值太大(实际值:70,最大值:70)

实际上这些值没有超过最大值,那么这些消息到底在做什么呢?

0 投票
2 回答
8217 浏览

java - ORA-12899: 列的值太大,即使异常中的值更小

通过 EclipseLink 更新数据库中的实体时出现 ORA-12899 错误。例外情况如下:

RuntimeException 捕获:org.springframework.transaction.TransactionSystemException:无法提交 JPA 事务;嵌套异常是 javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.1.v20100817-r8050): org.eclipse.persistence.exceptions.DatabaseException 内部异常: java.sql.BatchUpdateException: ORA-12899 :对于列“T_MONITORING”的值太大。“版本”(实际:295,最大值:255

错误代码:12899 查询:UpdateObjectQuery(MonitoringBE@7e6dc6aeMonitoringBE {id:17b50dcd-3184-4b47-998a-7c3a93a71695,主机名:HOSTNAME,releaseTimestamp:2013-10-17 12:04:01.578,javaVersion:1.6.0_24,软件版本:4.0.0_24 .30.SP401-RC8, testId: 6e1bc90f_549a_46aa_91f2_e9ff8a96baef, 版本: PSDZ:4.8.1.0332013 - 20130522-1210;KIS AWL:5.0.0;KIS-WB:[S15A;0;0;32;2;10 月 7 日星期一 15: 03:55 CEST 2013;4556499;3;Ausleitung zu SAb;8;8] , lastMrtAnswer: 2013-10-17 12:45:15.471, serverInstance: MyServer, lastModified: 2013-10-17 12:45:24.088})

“VERSION”列定义为 VARCHAR2(255 CHAR)。在这种情况下,我的问题是异常中的字符串不超过 255 个字符。这个怎么可能?异常的输出是否错误?不执行更新查询。

BusinessEntity (MonitoringBE) 在普通 java 中使用 setter 方法进行操作。然后在实体管理器(javax.persistence.EntityManager)中调用合并:

我正在使用来自 Java 1.6.0.24 Glassfish 服务器的 Oracle 11g Enterprise (11.2.0.2.0) 和 EclipseLink 2.1.1。Oracle 中的字符集是 AL32UTF8,它应该能够存储所有类型的字符(4 字节)。

任何人都可以帮忙吗?

0 投票
0 回答
132 浏览

sql - Oracle SQL INSERT:我可以报告触发 Oracle 异常的值吗?

我正在编写我的第一个 PL/SQL 脚本。

在我正在编写的批处理脚本中,我将表 A 的“注释”字段中的数据插入到表 B 的具有各种完整性约束的列中(因此担心 ORA-12899 - 值太长或 ORA -02291 - 不允许值)

如果尝试将值插入表 B 引发异常,我想使用标准输出来报告不仅必须跳过插入,而且表 A 的哪些内容导致跳过插入。

我知道我可以在程序上循环遍历表 A 的数据,基本上一次调用 1 个 INSERT,报告任何引发该调用异常的数据的值。但如果可能的话,我想更贴近“让 SQL 做它的工作”的原则。

当直接 SQL “INSERT INTO {Table B} SELECT FROM {Table A}”引发异常时,有什么方法可以显示表 A 中的数据?

注意:我对数据库没有任何 DDL 权限,并且知道我无法获得任何权限;我只有 DML 和查询,如 INSERT/UPDATE/SELECT。因此,不幸的是,像“创建日志表”这样的解决方案是不可能的。

更新:我的问题的第二部分:阅读问题 1065829,我开始认为,即使是跳过无效插入并继续进行有效插入也是不可能的,直接 SQL 和没有 DDL 访问(我认为这是在写我上面的问题之前可能)。看起来我将不得不在遍历表 A 的行、一次执行一个 INSERT 调用以及请求特殊 DDL 权限之间做出选择。 这个对吗?

谢谢!

0 投票
1 回答
1444 浏览

oracle11g - 获取 ORA-12899:Oracle 中 nvarchar2 和 varchar2 的值太大错误

我创建了 2 个表并插入数据如下---

现在,插入一些法语字符,如下所示——

问题是为什么两个插入中的错误消息存在差异。

以下是 NLS 参数详细信息:

我正在使用Oracle 11g版本。

另外,是否建议NVARCHAR2(NCHAR etc.)在 oracle 中用于非英文字符?

谢谢。

0 投票
2 回答
882 浏览

c# - Oracle.ManagedDataAccess ORA-12899 - 值对于列来说太大

我得到一个我无法追踪的“ORA-12899 - 列的值太大(实际:5,最大值:4)”。我正在使用 C# 中的 Oracle.ManagedDataAccess 提供程序进行教科书参数化插入。有没有人见过这样的事情?

我们正在做的看起来像:

有什么想法吗?我检查了许多其他答案,但没有运气。

0 投票
2 回答
58 浏览

oracle - ORA-12899错误相同列的字符串太大但不同的表成功

我将字符串更新为长度为 35 的列到两个表中

第一个表更新成功,但第二个表给出 ORA 错误 ORA-12899 错误字符串太大

两个表 colm1 字段都声明为 VARCHAR(35),第一个表更新失败,第二个成功。

ORA-12899

让我知道为什么这些具有相同列类型的表会出现这种行为

0 投票
1 回答
32 浏览

sql-server - SQL Server 到 Oracle 的迁移 - ORA-12899:值对于列来说太大

将 SQL Server 数据库迁移到 Oracle 时,出现错误

ORA-12899: 值对于列来说太大

尽管数据类型相同。

这发生在像“enthält”这样的字符串上。数据类型NVARCHAR(7)应该能够在 SQL Server 中保存给定的字符串,而在 Oracle 上VARCHAR2(7)不能保存值并抛出值太大错误。

这与 Oracle 上的编码风格有关吗?我们如何解决这个问题?

谢谢