java 调用 oracle存储过程_JAVA调用ORACLE存储过程

最近在做数据迁移,发现执行时间虽然能在存储过程中调用所有方法,但总归有些不习惯,写java程序进行调用;

中间有在网上搜罗各种方法,在此就不一一列举,下面叙述总体执行步骤。

最终的结果是把项目打成jar包,另建bat文件进行调用,以便没有安装eclipse或者对java程序不熟悉的人进行使用;

当然,结果可能不符合所有的项目,可以根据这个为基础进行修改;

第一步:新建java项目,写调用代码(注意:拷贝oracle的jar包到项目里面)

代码如下:

packagecallProcedure;importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.util.Scanner;public classCallProcedure {//String driver = "Oracle.jdbc.driver.OracleDriver";//String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";

publicConnection getConnection (String strUrl,String username,String password){

System.out.println("getConnection start");

Connection connection= null;try{

Class.forName("oracle.jdbc.driver.OracleDriver");

connection=DriverManager.getConnection(strUrl,username,password);

}catch(ClassNotFoundException e) {

e.printStackTrace();

}catch(SQLException e) {

e.printStackTrace();

}

System.out.println("getConnection end");returnconnection;

}public voidexecSql(Connection connection,String sql){

System.out.println("execSql Start");

CallableStatement callableStatement= null;try{

callableStatement= connection.prepareCall("{ call "+sql+"}");

callableStatement.execute();

}catch(SQLException e) {

e.printStackTrace();

}finally{try{

callableStatement.close();

connection.close();

}catch(SQLException e) {

e.printStackTrace();

}

}

System.out.println("execSql end");

}public static voidmain(String[] args) {

Scanner scanner= newScanner(System.in);

System.out.println("请输入用户名:");

String username=scanner.nextLine();

System.out.println("请输入密码:");

String password=scanner.nextLine();

System.out.println("请输入IP地址:端口号:数据库名 例:127.0.0.1:1521:ORCL:");

String address=scanner.nextLine();

System.out.println("请输入调用存储过程");

String sql=scanner.nextLine();

CallProcedure callProcedure= newCallProcedure();//String username = "dm";//String password = "dm";//String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";//String sql = "test1.test";

String strUrl = "jdbc:oracle:thin:@"+address;

Connection connection=callProcedure.getConnection(strUrl, username, password);

callProcedure.execSql(connection, sql);

}

}

第二步:导出jar包

右键项目==》export ==》Runnable JAR file ==》指定导出jar包位置(如果在项目中引用别的项目的jar包,在选择第三个选项"Copy required libraries into a ...")

第四步:新建txt文件

文件内容如下:

java -jar C:\Users\Administrator\Desktop\存储过程调用\call.jar

注意:把文件路径修改为你导出jar包所在路径

现在的cmd窗口如果报错将会一闪就不见了,如果加入以下代码

cmd /k dir

则如果报错窗口就停留在哪里了。

第五步:修改txt后缀名为bat

然后双击bat文件,就能查看效果了  ^_^~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值