后台调用oracle存储过程出现的问题以及解决方案

一.代码展示

1.Java代码

package com.ybb.servlet.upload;

import java.sql.*;

public class Test1 {
    public static void main(String[] args) throws SQLException {
        String driver="oracle.jdbc.driver.OracleDriver";
        String strUrl="jdbc:oracle:thin:@192.168.1.37:1521:ORCL";

        String userName="scott";
        String password="123456";

        Statement stmt=null;
        ResultSet rs=null;
        Connection conn=null;
        CallableStatement cstmt=null;
        CallableStatement proc=null;

        try {
            Class.forName(driver);
            conn=DriverManager.getConnection(strUrl,userName,password);
            proc=conn.prepareCall("{call"+userName+".TESTA1(?,?)}");
            proc.setString(1,"101");
            proc.setString(2,"testOne");
            proc.execute();
            System.out.println("完成。。。。。");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            if(rs!=null){
                rs.close();
            }
            if(stmt!=null){
                stmt.close();
            }
            if(conn!=null){
                conn.close();
            }
        }

    }
}

2.存储过程

CREATE OR REPLACE
PROCEDURE "TESTA1" (RAPA1 IN VARCHAR2, RAPA2 IN VARCHAR2)
AS
BEGIN
	INSERT INTO SCOTT.T_TEST(I_ID,I_NAME) VALUES(RAPA1,RAPA2);
END TESTA1;

二.出现的bug以及解决

1.首先出现的bug

问题主要是我的用户名开始一直是system,但是我是在scott中建的表,,所以猜想是用户名错误,,,于是把用户名改了成scoot,,于是第二个问题来了

2.第二个出现的bug

上图意思是说:当前用户被锁定,,需要进行解锁;  输入:alter user scott account unlock  进行解锁即可,,,但是解锁成功后又出现另一个bug,,于是第三个bug来了

3.第三个出现的bug

上图说我的密码已经过期,,后来直接修改密码; 输入:alter user username identified by password   修改好密码后,,在Java后台直接配置,,然后就运行成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值