我怎样才能防止这种异常? java.sql.SQLException:无法转换为内部表示:

2023-12-03

我的代码在以下行(第 2 行)中抛出上述异常:

final ArrayDescriptor tParamArrayDescriptor = ArrayDescriptor.createDescriptor("MY_SYSTEM.T_PARAM_ARRAY", databaseHandler.getConnection());
final ARRAY oracleArray = new ARRAY(tParamArrayDescriptor, databaseHandler.getConnection(), myObjects.toArray());

它给了我以下例外:

java.sql.SQLException: Fail to convert to internal representation: 

The myObjects是以下 POJO 的 ArrayList:

public class MyObject
{
    private String name;
    private String surname;

    private int age;

    ...

    // Accessors etc..

}

The T_PARAM_ARRAY数据库上看起来如下:

create or replace
TYPE               T_PARAM_ARRAY AS OBJECT (NAME VARCHAR2(50), SURNAME VARCHAR2(50), AGE NUMBER(1));

经过一些研究,我认为我的 POJO 和数据库类型之间的数据类型映射不正确匹配。我有相当的信心 String 与 VARCHAR2 匹配,但我认为转换字符串时存在问题int to a NUMBER.

我尝试过使用 BigDecimal,但这并没有改善情况。

有什么建议么?

编辑:根据Oracle 文档 : Where intArray is an oracle.sql.ARRAY, corresponding to a VARRAY of type NUMBER. The values array contains an array of elements of type java.math.BigDecimal, because the SQL NUMBER datatype maps to Java BigDecimal by default, according to the Oracle JDBC drivers.


我认为你需要自己构建数组,请参阅这个问题“如何在java中调用包含用户定义类型的oracle存储过程?”一个工作示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我怎样才能防止这种异常? java.sql.SQLException:无法转换为内部表示: 的相关文章

  • 在 Java 正则表达式中获取多个模式的重叠匹配

    我有同样的问题这个链接 https stackoverflow com questions 18751486 matching one string multiple times using regex in java 但有多种模式 我的正
  • 如何检查oracle数据库中分配给模式、角色的对象的权限(DDL、DML、DCL)?

    大多数时候 我们都在与愚蠢的事情作斗争 以获取架构 角色及其对象的权限详细信息 并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码 以批量生成授予语句以供进一步使用执行 所以我们在这里得到它 关于数据字典视图前缀的一些简单介绍
  • 在 Java 中使用 Batik 检查和删除 SVG 中的属性

    这个问题基本上说明了一切 如何检查 SVG 是否具有 viewBox 属性 我正在使用蜡染库 我需要这个 因为我需要 至少 通知用户有一个 viewBox 属性 我可以删除它吗 使用 org w3c dom 类 您可以按照以下方式做一些事情
  • 使用 Apache POI Excel 写入特定单元格位置

    如果我有一个未排序的参数 x y z 列表 是否有一种简单的方法将它们写入使用 POI 创建的 Excel 文档中的特定单元格 就好像前两个参数是 X 和Y 坐标 例如 我有如下行 10 4 100 是否可以在第 10 行第 4 列的单元格
  • 查询 MongoDB 集合中的字段。

    我正在尝试查询 mongodb 集合中的特定字段 这是我的代码和输出 Mongo m new Mongo DB db m getDB mydb DBCollection coll db getCollection student addin
  • 使用 Spring 控制器处理错误 404

    I use ExceptionHandler处理我的网络应用程序抛出的异常 在我的例子中我的应用程序返回JSON回应HTTP status用于对客户端的错误响应 但是 我正在尝试弄清楚如何处理error 404返回与处理的类似的 JSON
  • 无法访问“不安全”java方法的java表达式语言

    我正在开发一个项目 让用户向服务器提交小 脚本 然后我将执行这些脚本 有很多脚本语言可以嵌入到Java程序中 例如mvel ognl uel clojure rhino javascript等 但是 据我所知 它们都允许脚本编写者调用Jav
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 如何在 MSSQL 中获取 CURRENT_DATE?

    我正在使用 jpa 3 o 和 Hibernate 我有一个命名查询 SELECT COUNT wt id FROM WPSTransaction wt WHERE wt createdDate gt CURRENT DATE WPSTra
  • 在java中将字符串日期转换为美国格式

    我有下面的代码 其中日期为字符串类型 我必须将其设置为美国格式 所以下面我已经展示了它 private static final SimpleDateFormat usOutputDate new SimpleDateFormat MM d
  • Struts 1 到 Spring 迁移 - 策略

    我有一个legacy银行应用程序编码为Struts 1 JSP现在的要求是迁移后端 目前为 MVC to Springboot MVC 后续UI JSP 将迁移到angular Caveats 1 后端不是无状态的 2 会话对象中存储了大量
  • 在尝试使用 GPS 之前如何检查 GPS 是否已启用

    我有以下代码 但效果不好 因为有时 GPS 需要很长时间 我该如何执行以下操作 检查GPS是否启用 如果启用了 GPS 请使用 GPS 否则请使用网络提供商 如果 GPS 时间超过 30 秒 请使用网络 我可以使用时间或 Thread sl
  • 生成 equals 和 hashcode 时忽略属性

    假设我有一个类 Customer public class Customer private String firstName private String lastName private String doNotAddMeToEqual
  • 在带有 Protocol Buffers 的项目中使用 Proguard 有什么特点?

    我有一个使用 Google Protocol Buffers 的项目 一旦我尝试用 ProGuard 对其进行混淆 似乎 protobuf 会导致问题 我将所有自己的类打包成mybuildedclasses jar 谷歌代码被打包成prot
  • 在 Java 中创建 XML 文件的最佳方法是什么?

    我们目前使用 dom4j 来创建 XML 文件 不过 我猜现在有更好的东西了 如果我们使用的是 Java 1 6 或更高版本 那么在编写 XML 文件时最好使用什么类 运行速度最快 使用简单 我不需要构建一个 DOM 然后编写整个 DOM
  • BadPaddingException:无效的密文

    我需要一些帮助 因为这是我第一次编写加密代码 加密代码似乎工作正常 但解密会引发错误 我得到的错误是 de flexiprovider api exceptions BadPaddingException 无效的密文 in the 解密函数
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 如何减去两个 XmlGregorianCalendar 对象来创建一个 Duration 对象?

    我想计算两个时间之间的差值XmlGregorianCalendar对象 从而创建一个Duration object 但我还没有找到执行减法的干净方法 你会怎么做 那应该是 DatatypeFactory newDuration xgc2 t
  • 如何建立与 FileZilla Server 1.2.0 的 FTPS 数据连接

    使用 Apache commons net 的 Java FTPSClient 进行会话恢复是一个已知问题 会话恢复是 FTPS 服务器数据连接所需的一项安全功能 Apache FTPSClient 不支持会话恢复 并且 JDK API 使
  • Java中单例的其他方式[重复]

    这个问题在这里已经有答案了 只是我在考虑编写单例类的其他方法 那么这个类是否被认为是单例类呢 public class MyClass static Myclass myclass static myclass new MyClass pr

随机推荐

  • 如何在android中获取epub书籍的图像

    我试图将 epub 书读入我的 android 应用程序 并成功地将文本输入到我的应用程序中 但无法加载 epub 书的图像 实际上 当我们使用 epub 库阅读 epub 书时会发生什么 如果它存储的内容比 epub 书的图像所在的位置要
  • ANSI 转义代码在 python 解释器上不起作用 [重复]

    这个问题在这里已经有答案了 ANSI 代码无法在我的 python 解释器上运行 我想为这个项目的一些印刷品上色 我查找了如何为打印字符着色并找到了 ANSI 转义码 因此我在解释器上尝试了它 但它不起作用 例如 print 033 32m
  • Chrome 扩展程序 - 查看扩展程序选项卡是否打开

    我已经设置了当我单击 extn 图标时 我的 extnindex html opens 如果我第二次单击该图标 我不希望它打开第二个选项卡 我希望它能够聚焦已打开的选项卡 如果它已打开 问题在于if it s open部分 理想情况下 我不
  • TaskFactory.FromAsync 与 BeginGetRequestStream/EndGetRequestStream 挂起

    我有一个这样的方法 在声明时挂起responseObject使用 Task Factory FromAsync private async Task
  • 在 JavaEE 应用程序中使用 Jackson 作为 JAXB-JSON 处理器

    我看过很多关于此的文章和问题 但我就是不明白它的作用 我的目标是在 JavaEE 应用程序中使用 Jackson 作为 JSON 处理器 到目前为止我有什么 pom xml 要么这个
  • PowerShell 编码命令失败

    我试图使用 Powershell 的 EncodedCommand 标志弹出一个简单的消息框 但它一直失败 我在过去的几个小时里尝试过谷歌搜索 但似乎无法正常工作 它几乎看起来像一个编码错误 但我使用的是常规 UTF 8 和标准 ASCII
  • 执行非查询过程不工作asp.net core

    我想执行一个存储过程 该过程返回三个值 电子邮件 姓名 公司 ID 并获取一个参数 公司 ID 但它不起作用 我创建了一个具有这些属性的类和一个返回数据的存储过程 由它显示DatabaseFacade error 我的代码是 List
  • 如何计算图像的对比度?

    假设我有一个opencv BGR image img 如何计算该图像的对比度 对比度的一种定义是均方根对比度 可以按下式计算 首先 改造BGR image img到灰度 img grey cv2 cvtColor img cv2 COLOR
  • 如何水平居中对齐 div 内的文本?

    这可能是个愚蠢的问题 但我不知道如何得到这个 编辑 我只想将文本水平居中而不是图像 并且图像必须保持文本的基线 div img style width 30px height 60px display inline src http pla
  • 如何在字符级别对句子进行one-hot编码?

    我想将一个句子转换为一个 one hot 向量数组 这些向量将是字母表的独热表示 它看起来像下面这样 hello h 7 e 4 l 11 o 14 会成为 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
  • 如何将 SAX 与 Nokogiri 一起使用?

    我想解析一个非常大的文件 240Mb 并且必须使用 SAX 以避免将文件加载到内存中 我的 XML 看起来像
  • C# 泛型类型约束类可能不是

    我想排除某些类型在泛型类中使用 我知道如何进行约束以确保泛型类型是某种 接口 类型 但我似乎不知道如何exclude 多种 类型 例如 我想要一个泛型类来排除 int 和 uint 但不排除 DateTime 因此并非所有基元都可以被排除
  • 我的应用程序对 Google Play 商店中高于我的 targetSdkVersion 的设备是否可见?

    我已浏览以下链接 但它们没有为我的问题提供清晰明确的答案 这是我可以从答案中得出的结论 targetSdkVersion表示该应用程序针对目标版本进行了测试 并将在所有 Android 版本上运行minSdkVersion to targe
  • 如何编写一个每天午夜运行脚本的 cron?

    我听说 crontab 是一个不错的选择 但是我该如何编写该行以及将其放在服务器上的哪里 这是一个很好的教程关于什么是 crontab 以及如何在 Ubuntu 上使用它 您的 crontab 行将如下所示 00 00 ruby path
  • 指向由映射定义的子数组的指针

    我想定义一个指向子数组的指针 对于一个简单的范围 这很容易完成pointer gt array i j 但我不知道如何对这样的地图执行此操作k k1 k2 k3 如果我定义另一个数组 我可以使用类似的循环array2 array1 k j
  • MVC3 部分视图

    还在学习MVC3 EF 现在我正在连接到 MySql 但我相信这不相关 为简单起见 我决定为我的测试应用程序使用一个数据库 并且我添加了一个类别来区分数据 例如 我有新闻 事件 信息和页面类别 现在 当涉及到在主页的视图中列出内容时 我想列
  • 语句执行与同步方法执行交错

    我在理解同步关键字功能时遇到一些困难 根据java文档和其他教程 据说当使用synchronized关键字时 两个线程之间不可能在该方法的语句之间进行交错 但是 请看下面的代码 public class LockThread impleme
  • 如何删除第一个提交并使其直接子代成为根

    I have commit id1来自 git 提交 但这是第一个提交 因此它没有父提交 有一个commit id2谁是它的直系孩子 这是场景commit id1 gt commit id2 gt commit id3 有没有安全的删除方法
  • 如何防止嵌入式浏览器提示保存下载文件的位置?

    如何以编程方式单击下载按钮后下载文件 因此不需要知道下载文件的 url 下载文件后 会出现一个提示 询问您是否要保存该文件 按 是 后 另一个提示会询问您要将文件保存在哪里 因此 首先下载文件 可能下载到某处的缓冲区中 在初始下载后 出现提
  • 我怎样才能防止这种异常? java.sql.SQLException:无法转换为内部表示:

    我的代码在以下行 第 2 行 中抛出上述异常 final ArrayDescriptor tParamArrayDescriptor ArrayDescriptor createDescriptor MY SYSTEM T PARAM AR