繁体   English   中英

如何从Java程序调用Oracle Function

[英]How to call Oracle Function from Java program

如何从Java程序调用Oracle Function ...
我正在尝试访问数据库中的函数,但无法执行。 我这样做的方式与访问oracle存储过程相同。

String packageCallStmt = "{? = call XTRA_TSF_CRE_SQL.XTRA_TSF_CRE(?, ?, ?, ?, ?) }";
    try{

        conn = jdbcTemplate.getDataSource().getConnection();
        System.out.println("Inside TransferCreationDAO - Before function call");
        OracleCallableStatement oracleCallableStmt = (OracleCallableStatement) conn.prepareCall(packageCallStmt);
        oracleCallableStmt.setInt(2, src_id);   
        oracleCallableStmt.setInt(3, dest_id);
        oracleCallableStmt.setString(4, refNo);
        oracleCallableStmt.setString(5, item);
        oracleCallableStmt.setInt(6, qty);
        oracleCallableStmt.registerOutParameter(1, OracleTypes.VARCHAR);
        oracleCallableStmt.executeUpdate();
        System.out.println("Inside TransferCreationDAO - After function call");
        tcr.setTsf_No(((OracleCallableStatement) oracleCallableStmt).getString(1));
        System.out.println("Inside TransferCreationDAO - Tsf Number:"+tcr.getTsf_No());

    }
  • 确保您的XTRA_TSF_CRE_SQL模式的函数名称为XTRA_TSF_CRE_SQL。
  • 是用户(由Java程序使用)具有访问此功能的特权。
  • 如果您有一个与架构同名的对象,则会出现该错误。

可能会解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM