簡體   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