oracle 系统在OraOLEDB的消息文件中找不到消息编号0x80040e4b的消息文本

yeotifhr  于 2023-11-17  发布在  Oracle
关注(0)|答案(5)|浏览(427)

以下消息是什么意思?系统在OraOLEDB的消息文件中找不到消息编号0x80040e4b的消息文本。

nfs0ujit

nfs0ujit1#

此错误消息可能非常令人困惑,解决方案可能非常原始。在我的情况下:Oracle存储过程通过“Provider=OraOLEDB.Oracle;Data Source=... etc”将记录发送到MS Excel。问题是Oracle数据列中的许多十进制数字发送到Excel 2010。当我使用Oracle SQL查询ROUND(grosssales_eur,2)AS grosssales_eur时,它工作正常。

wqlqzqxt

wqlqzqxt2#

您可以在this link下找到OleDB错误代码列表。您的错误代码对应于“指定的访问器不是参数访问器”。
这些对应于特定错误代码的错误消息字符串通常保存在“消息文件”中。似乎OraOLEDB的消息文件不包含错误代码的字符串,而只是提供错误代码。

qfe3c7zg

qfe3c7zg3#

OK,我最近开始再次收到此消息,同时在我的应用程序中重构一堆要参数化的SQL而不是插值字符串(不要判断),格式为:系统无法在OraOLEDB的消息文件中找到消息编号0x80040e0c的消息文本
在我的例子中,对于这段特定的代码,问题是由于缺少OleDbParameter对象,以错误的顺序添加到命令的集合中,或者在OleDbCommand中定义但未使用。因此,检查这些对象以确保类型正确,位置正确,因为它们尽管命名但完全是位置性的,并且在定义时使用。

9rbhqvlz

9rbhqvlz4#

在我的例子中,错误的起源是因为数据源中的数据类型发生了变化,但我没有在维度中更新它。调整它可以修复它。

dm7nw8vv

dm7nw8vv5#

系统无法在用于OraOLEDB的消息文件中找到消息编号0x 80040 e0 c的消息文本,此类错误消息表示单个或多个错误,如完整性约束,包括插入非空列的空值,唯一约束。我已通过在插入目标表之前重定向此类错误/不正确的记录来修复此错误。如果您收到此类错误消息,请尝试。谢谢!

相关问题