JDBC 调用以数组为参数的存储过程

2023-12-30

我正在尝试使用 java 代码调用下面的过程,但我收到了几个错误(主要是类型转换)我想我在某个地方搞砸了,有人可以看一下吗。

这是我第一次这样做。

一点帮助就太好了。

proc:

DECLARE
   car__details_tab car__details_tab_type := NEW car__details_tab_type();
   car_id                   number_tab_type;
   car_error_tab           car__error_tab_type := new car__error_tab_type();
   car_purchase_id                   NUMBER;
BEGIN
   car__details_tab.extend;
   car__details_tab(car__details_tab.count) := car__details_type(null,
   null
   ,null
   ,null
   ,null
   );
   car__details_tab(car__details_tab.COUNT).model_id := AW0;
   car__details_tab(car__details_tab.COUNT).brand := 'LAM';
   car__details_tab(car__details_tab.COUNT).version := 1;
   car__details_tab(car__details_tab.COUNT).type := 'Sedan';


   pckg.ins_trade_details(car__details_tab => car__details_tab
                                       ,car_purchase_id            => 101
                                       ,user                      => 'Test'
                                       ,car_id_tab              => car_id
                                       ,car_error_tab           => car_error_tab);
   DBMS_OUTPUT.PUT_LINE(car_purchase_id);

   IF car_error_tab.EXISTS(1)
   THEN
      FOR i IN 1 .. car_error_tab.COUNT
      LOOP
         dbms_output.put_line(car_error_tab(i).model_id);
         dbms_output.put_line(car_error_tab(i).version);
         dbms_output.put_line(car_error_tab(i).version);
         dbms_output.put_line(car_error_tab(i).error_text);
      END LOOP;
   END IF;

Java代码

public void save(String DataSource,int Id,String username,String[] car__details_tab_type) throws SQLException{
        Connection con = getConnection(DataSource);
        CallableStatement cs= con.prepareCall({call pckg.save_details(?,?,?,?,?)});

    Object[] project1 = new Object[]{AWO,"LAM,1,"SEDAN"};
    Object[] project2 = new Object[]{AWO,"LAM,1,"SEDAN"};

    StructDescriptor projectTypeDesc = StructDescriptor.createDescriptor("CAR__DETAILS_TAB_TYPE", con);
    STRUCT structProject1 = new STRUCT(projectTypeDesc, con, project1);//THIS IS WHERE I GET THE ERROR
    STRUCT structProject2 = new STRUCT(projectTypeDesc, con, project2);

    STRUCT[] structArrayOfProjects = {structProject1,structProject2};
     ArrayDescriptor projectTypeArrayDesc = ArrayDescriptor.createDescriptor("CAR__DETAILS_TAB_TYPE", con);
     ARRAY arrayOfProjects = new ARRAY(projectTypeArrayDesc, con, structArrayOfProjects);       

        cs.setArray(1, details);
        cs.setInt(2, Id);
        cs.setString(3, username);

        cs.registerOutParameter(4, java.sql.Types.ARRAY);
        cs.registerOutParameter(5, java.sql.Types.ARRAY);
        cs.execute();

    }

ERROR

java.sql.SQLException:java 和 sql 对象类型不一致


None

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

JDBC 调用以数组为参数的存储过程 的相关文章

  • Infinispan 复制缓存不复制对象以供读取

    我们正在尝试在 Openshift 内的 Wildfly 11 上运行的两个 infinispan 节点上安装复制缓存 当我们在一个节点上写入一个对象时 它不会显示在另一节点上进行读取 启动时 节点在集群中连接 并且可以看到彼此 如日志中所
  • 在 MySQL 中将值设置为 NULL

    我想要一个值被设置为NULL如果我提交的表单中的文本框中没有输入任何内容 我怎样才能做到这一点 我试过插入 NULL 但这只是添加了这个词NULL进入现场 我不确定我应该为此提供什么代码 我只是编写一个 UPDATE 查询 不要放NULL更
  • Android - 内容值覆盖现有行

    我正在尝试使用插入值ContentValues 我已将 5 个值插入到 5 列中 运行应用程序后 我只有最后一组值的行ContentValues 前四组未插入 ContentValues cv new ContentValues cv pu
  • 使用 spring security 找不到 AuthenticationProvider

    我一直在尝试使用 x509 证书通过 LDAP 对用户进行身份验证 但似乎无法正常工作 我声明了一个身份验证提供程序 但仍然抛出错误 提示没有提供程序 这是我的调试输出 INFO Initiating Jersey application
  • 如何使用java避免Mysql数据库中的“数据因列被截断”?

    在我的 Java 程序中 Hibernate Bean 类定义一列 例如 TimtableVO java Column name REPEAT DAYS private WeekdayType repeatDays hear Weekday
  • 如何使用 JAVA 和 ADB 命令检查 Appium 中键盘是否打开

    我正在尝试检查 Android 默认键盘是否打开 我没有找到任何可以在 Appium 中使用 JAVA 和 ADB 命令检查键盘的内容 我发现这个 ADB 命令可以检查键盘是否打开 adb shell dumpsys input metho
  • 可空数据类型与非空 varchar 数据类型 - 哪个查询速度更快?

    我们通常更愿意拥有我们所有的varchar nvarchar列不可为空使用空字符串 作为默认值 团队中有人建议nullable更好 因为 像这样的查询 Select From MyTable Where MyColumn IS NOT NU
  • AIX:IBM Java:java.net.SocketException:连接超时:可能是由于地址无效

    当尝试与我们的服务器建立 SSL 连接时 我们在 IBM AIX 上经常看到以下异常 java net SocketException Socket closed at com sun net ssl internal ssl SSLSoc
  • 同一表中同一列的 SQL 完全外连接

    这可能更多的是一个设计问题 但我希望这在没有太多巫术的情况下是可能的 假设我有一个这样的表 SELECT FROM stuff id grp 1 a 2 a 3 a 1 b 2 b 4 b 我想要得到这样的东西 ID 按列分组 a id b
  • Java中通过FTP创建文件夹层次结构

    Java 是否有现成的功能可以在远程 FTP 服务器上创建文件夹层次结构 Apache Commons 确实提供了 FTP 客户端 但我找不到创建目录层次结构的方法 它确实允许创建单个目录 makeDirectory 但创建整个路径似乎并不
  • Ubuntu 的打包 - Web 应用程序

    Web 应用程序没有与 C 或类似文件不同的 make 文件 但是 它需要放置在特定的目录中 例如 var www 我是 Linux 打包新手 所以我的问题是 如何将我的应用程序打包到 deb 中 以便在安装时将其放入 etc myprog
  • 在 IntelliJ 中创建可执行 JAR(Java 18、JavaFX 18 Maven 项目),“警告:不支持的 JavaFX 配置...”

    我有一个 Java 18 JavaFX 18 Maven 项目 除了 javaFX 库之外 它还有很多库需要包含在工件中 我想创建一个工件 一个 jar 其中包含所有依赖项 我开始按照这个视频来创建 jar https www youtub
  • 如何创建从表中最大值开始的 Oracle 序列?

    尝试在 Oracle 中创建一个以特定表中的最大值开始的序列 为什么这不起作用 CREATE SEQUENCE transaction sequence MINVALUE 0 START WITH SELECT MAX trans seq
  • 我们可以用java定制一个垃圾收集器吗?

    我们知道java的垃圾收集器是一个低优先级线程 在java中我们可以创建任何具有高优先级的线程 那么是否有可能拥有我们自己定制的具有可变优先级的垃圾收集器线程 我们可以根据内存管理的级别进行设置 有人尝试过吗 如果是的话 您能分享一些关于如
  • Google App Engine数据存储区字符串编码问题

    你好 我正在使用 Google App Engine 进行一个项目 并且需要存储一些字符串 我正在使用 Java 和JDOHelper getPersistenceManagerFactory transactions optional 在
  • 从 SQL 语句中检索元数据(表名)

    我使用的是 Visual Studio 2008 我创建了一个 Winforms 应用程序 并且尝试从 SQL 语句中提取表名 con new SqlConnection connString String queryString Sele
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • 在测试期间调用预定方法[重复]

    这个问题在这里已经有答案了 我正在使用 Maven 开发 SpringBoot 应用程序 我有一个班级 Component有方法的注释m与 Scheduled initialDelay 1000 fixedDelay 5000 注解 这里f
  • Java applet 是否会违反同源策略

    我需要请求一些东西并从其他域获取信息 我知道由于同源政策 javascript 无法做到这一点 我的另一个选择是通过我的服务器发出代理请求 我不希望请求来自我的服务器的 IP 也不想为我的服务器创建额外的负载 并且希望客户端这样做 是否可以

随机推荐

  • 间隔 5 分钟后递归启动 AsyncTask

    我想创建一个类的实例 它扩展Asynctask 并调用它的execute 每5分钟后进行一次方法 为此我尝试打电话Thread sleep 5 60 1000 in onPostExecute 方法 然后创建该类的新实例 代码如下 publ
  • 使用fplot函数时如何向量化?

    我正在使用 fplot 我也可以使用绘图 我刚刚找到了更多 fplot 的例子 我想绘制 y m x 形式的两条直线 其中 m V1 和 V2 V1 和 V2 是标量 下面的代码给了我一个错误 Matlab代码 fplot x V1 4 4
  • PHP 文件上传:mime 或基于扩展的验证?

    当我尝试处理文件上传时 是否应该根据文件 MIME 类型或文件扩展名运行验证 这两种文件验证方式的优缺点是什么 而且 我还应该担心其他安全问题吗 这些天我依赖 MIME 类型 但这篇文章中获得最多赞成票的答案 PHP中的文件上传问题 htt
  • 如何从 Visual Studio PTVS 中运行命令?

    我正在使用 Visual Studio 2012 和 PTVS 来处理 locustio 和 suds 我在 Visual Studio 中使用 virtualenv 设置了一个环境 并安装了 locustio suds 和所有相关的依赖项
  • zClip - ZeroClipboard.swf 已删除 - 需要新文件

    我在用着zClip http www steamdev com zclip 在我的网站上复制文本框中的一些内容 我一切正常 但现在 在不更改任何内容的情况下 它停止工作 原因是文件的主机零剪贴板 swf http zeroclipboard
  • Boost tribool 在 C++ 中导致从右到左的条件计算

    据我所知 C 在条件语句中总是从左到右计算 if A B C A首先会被评估 B第二 依此类推 然而 以下示例表现出一些奇怪的行为 include
  • 如何向基于 Visual Studio 的应用程序添加 C/C++ 语言服务?

    我正在尝试创建一个基于 Visual Studio shell 的特定于域的 IDE 我跟着走查 https learn microsoft com en us visualstudio extensibility shell walkth
  • Laravel Eloquent 选择 CASE?

    有没有在 PHP 和 Laravel Eloquent 方面有经验的人可以帮助我解决这个问题 我试图在 raw 方法中注入一个 CASE WHEN END 似乎完全被忽视了 现有的文档还没有 我尝试了几种不同的方法 但都没有成功 我正在努力
  • OpenMP 在 High Sierra LLVM 中可用吗?

    Apple 在 macOS 10 13 High Sierra 中提供的默认 LLVM 中 OpenMP 终于可用了吗 它已经在主 LLVM 中可用一年多了 问这个问题的另一种方式可能是新的 Apple LLVM 基于哪个版本的 LLVM
  • 发送方和接收方是否隐含与 MPI_BCAST 同步?

    当调用MPI BCAST时 是否有任何隐含的同步 例如 如果发送方进程要先于其他进程到达 MPI BCAST 它是否可以执行 BCAST 然后在没有任何确认的情况下继续 最近的一些测试代码如下 program test include mp
  • const 和非常量函数的重载如何工作?

    The STL充满了这样的定义 iterator begin const iterator begin const 由于返回值不参与重载决策 因此这里唯一的区别是函数是const 这是重载机制的一部分吗 编译器用于解析如下行的算法是什么 v
  • 哪个分布式缓存?

    我需要找到一种方法让两个应用程序可以使用相同的缓存 经过一些快速研究后 我们似乎需要一个分布式缓存来实现这一点 进一步谷歌搜索发现了许多解决方案 NCache http www alachisoft com ncache ncache ex
  • 如何在输入特定单词时提醒用户

    我是 Javascript 新手 正在创建我的第一个 Chrome 扩展 这实际上只是一个个人挑战 我想在用户在任何网站上键入某些单词时提醒他们 也许是 Google 或 Bing 上的搜索输入字段 或者也许是当他们输入 Facebook
  • 嵌入式 Linux 上的 QT5 eglfs(TI am355x EVM 入门套件)

    我刚刚为 ARM 交叉编译了 QT 5 2 1 并在 TI AM335x EVM 入门套件 板上使用它 我想使用eglfs平台 但不幸的是它在屏幕上显示了一些伪影 我只是制作了一个简单的程序来显示问题并捕获了我的屏幕的一些照片 该程序基本上
  • 真的很简单的Python HTTP代理吗? [复制]

    这个问题在这里已经有答案了 我到处寻找并发现了数百万个 python 代理服务器 但没有一个完全符合我的要求 我认为 s 一般来说 我对 python 有相当多的经验 但我对 HTTP 协议的深层秘密世界还很陌生 我认为可能有用的是一个非常
  • MVC-4 文件上传成功消息

    我在上传文件后显示成功消息时遇到了一些问题 我首先尝试使用 ViewBag Message 它运行良好 并在文件上传后显示成功消息 这就是我想要的 但后来我找不到一种方法 几秒钟后将该消息更改回 选择要上传的文件 以便用户了解他现在可以上传
  • 可以在 Twilio 中保存短信并安排发送吗?如果没有,我该如何完成这件事?

    我刚刚注册了 Twilio 试用帐户 我没有看到任何功能说明如何创建和保存多条短信供以后使用以及安排何时将它们发送到群组 这可能吗 或者有没有更好的软件可以做到这一点 Twilio 传道者在这里 查看您的个人资料 您的首选语言似乎是 PHP
  • “For”循环第一次迭代

    我想询问是否有一种优雅的 pythonic 方式在第一次循环迭代中执行某些函数 我能想到的唯一可能性是 first True for member in something get if first root copy member fir
  • 使用 CMake 和 GCC 4.1.2 链接到 stdc++

    我正在开发一个库 需要确保它可以使用 4 1 2 进行编译 我知道 它没有给我带来任何乐趣 因此 我在 Fedora 14 机器上下载 编译并安装了 GCC41 现在在 CMake 中我只将以下内容更改为变量 CMAKE CXX COMPI
  • JDBC 调用以数组为参数的存储过程

    我正在尝试使用 java 代码调用下面的过程 但我收到了几个错误 主要是类型转换 我想我在某个地方搞砸了 有人可以看一下吗 这是我第一次这样做 一点帮助就太好了 proc DECLARE car details tab car detail