从 Java 调用 Oracle 函数

2023-12-29

我在使用 ojdbc14.jar 从 Java 1.6 调用 Oracle 函数(不是存储过程)时遇到问题。

我不知道该函数包含什么,因为我从远程服务器调用它,我所知道的是:

FUNCTION ap_ch_get_acct_balances (VAR_PI_MOB_NO_ACCT_NO VARCHAR2,
VAR_REPLY_CODE OUT NUMBER, VAR_EXT_RESPONSE OUT VARCHAR2, VAR_PO_ACC_BAL OUT CHAR,
VAR_PO_ACCT_NO OUT CHAR)   

我需要使用的模式是: FCRLIVE.AP_CH_GET_ACCT_BALANCES

我正在尝试这个:

String call = "{ ? = call FCRLIVE.AP_CH_GET_ACCT_BALANCES(?, ?, ?, ?, ?) }";
CallableStatement cstmt = conn.prepareCall(call);
cstmt.setQueryTimeout(1800);
cstmt.setString(1, inputCode);
cstmt.registerOutParameter(2, oracle.jdbc.OracleTypes.NUMBER);
cstmt.registerOutParameter(3, oracle.jdbc.OracleTypes.VARCHAR);
cstmt.registerOutParameter(4, oracle.jdbc.OracleTypes.CHAR);
cstmt.registerOutParameter(5, oracle.jdbc.OracleTypes.CHAR);
cstmt.executeUpdate();

但我一直在日志文件中看到这一点:

java.sql.SQLException: ORA-01006: bind variable does not exist
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2688)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)

我调用这个函数是错误的吗?或者这可能是什么?

先谢谢您的帮助!


它应该是:

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

从 Java 调用 Oracle 函数 的相关文章

随机推荐

  • 远程调试设备上的 Android 应用程序

    是否可以在连接到远程计算机的设备上使用 adb 安装 调试应用程序 远程计算机的 IP 地址已知 如果你的手机已经root 你可以使用一些像这样的应用程序http www appbrain com app adb over wifi wid
  • 是否可以使用下载属性强制下载?

    我知道如何使用download属性强制下载 但我想做一些不同的事情 a href filename mp4 img src download png a 这是download属性可以正常工作 但我想使用meta像这样标记 gt Please
  • 模板化构造函数可以代替已删除的复制构造函数吗?

    Consider template
  • Tomcat:如何从servlet访问(会话)管理器

    我需要从 Tomcat 中的 servlet 或过滤器 访问管理器 以通过自定义会话 ID 加载自定义会话 回答你的下一个问题 为什么我需要它 Flash 中有一个老错误 导致它从 IE 而不是从当前浏览器发送 cookie 因此 如果我在
  • Identity 示例项目中的 DataProtectionProvider

    官方的 Identity 2 示例项目的代码如下UserManager Create public static UserManager Create IdentityFactoryOptions
  • 如果您仍然需要执行相同的步骤,那么 git merge 比 svn merge 更好吗?

    看完之后Git 中的合并如何比 SVN 中更好 https stackoverflow com questions 2471606 how and or why is merging in git better than in svn我还是
  • YouTube Analytics API 不会返回查询特定视频的 ROWS

    我正在使用 YouTube Analytics API 来获取特定查询的分析 对于频道查询来说它效果很好 当我对特定视频执行查询时出现问题 像这样 开始已定义 deviceType stats optparams array dimensi
  • android.location.LocationManager.PASSIVE_PROVIDER 的含义是什么?

    我明白的意思GPS PROVIDER http developer android com reference android location LocationManager html GPS PROVIDER 位置来自 GPS 信号 和
  • iOS15 UTType 弃用 URL 扩展 [重复]

    这个问题在这里已经有答案了 使用Swift5 5 iOS15 0 1 从 iOS15 开始 我意识到与我现有的 URL 扩展相关的一些弃用行为正在发生 我没有找到任何关于如何重写现有扩展的好的文档 这是我目前的实现 大约是 16个折旧警告我
  • adb 找不到索尼 Xperia Z 平板电脑

    我最近拿到了一台索尼 xperia z 想在其上部署 调试我的 xamarin droid 项目 我做了什么 将平板电脑连接到我的开发机器 在设备设置中启用开发者选项 还启用了USB调试 然后平板电脑本身在我的开发机器上安装了驱动程序 现在
  • 为什么我在角反应形式的 *ngIf 中遇到错误

    我知道这是一个非常愚蠢的问题 对于像我这样有 SOF 声誉的人来说 不应该问这个问题 然而 我正在拉扯我的头发 似乎不明白我做错了什么 我指的是一个例子创建反应形式 在 Stackblitz 中一切看起来都很好 我的代码也运行得很好 但是在
  • UDP 套接字设置超时

    我正在尝试在 UDP 套接字上设置 100 毫秒超时 我正在使用 C 我在下面发布了相关的代码片段 我不确定为什么这没有超时 而是在没有收到段时挂起 这只适用于未使用bind 方法绑定的套接字吗 define TIMEOUT MS 100
  • UITapGestureRecognizer 不执行任何操作

    我有一个应用程序 可以显示一页文本 可以点击按钮或在视图中滑动以在各个页面中前进或后退 容器视图附加了两个 UISwipeGestureRecognizer 用于向左滑动和向右滑动 这些手势没有任何问题 但现在我正在尝试将 UITapGes
  • Wildfly 中出现“意外调用状态 0”错误

    我创建了一个小例子来演示该错误 有状态 Bean 将列表作为其状态并注入无状态 Bean Stateful RequestScoped public class StatefulBean Inject StatelessBean slsb
  • 维基百科对MapReduce的reduce的解释不正确吗?

    MongoDB的解释 http www mongodb org display DOCS MapReduce MapReduce ReduceFunction减少阶段说 Map Reduce引擎可以迭代地调用Reduce函数 因此 这些函数
  • 向 docker 推送/拉取镜像时出现错误:403 Forbidden

    我在用泊坞窗服务器版本 1 10 3安装了 docker 发行版RHEL 7 2 我面临的问题是间歇性的 有时推 拉命令有效 有时会抛出以下错误 Pulling repository test a b c com hello world E
  • Rails 使用 :collection 渲染部分内容

    这很简单 不应该成为问题 但我不明白这里发生了什么 我有以下代码 class DashboardController lt ApplicationController def bookings bookings Booking all en
  • 用CSS识别浏览器和操作系统?

    我知道为特定浏览器或操作系统编写特定 CSS 代码不是正确的做法 但在我正在构建的网站中 某些元素在特定浏览器中无法很好地呈现 例如 某些元素在 IE8 中不受支持 或者在小 iPhone 显示屏中看起来很奇怪 因此我的问题是 仅使用 CS
  • 确定网络驱动器的协议

    有没有办法确定 Windows 上安装的网络驱动器所使用的协议名称 SMB CIFS NFS 和版本 在 C 中 EDIT 使用 Rusted 的答案中的信息 我从网络上的 Windows 7 计算机获得了以下信息 NETRESOURCE
  • 从 Java 调用 Oracle 函数

    我在使用 ojdbc14 jar 从 Java 1 6 调用 Oracle 函数 不是存储过程 时遇到问题 我不知道该函数包含什么 因为我从远程服务器调用它 我所知道的是 FUNCTION ap ch get acct balances V