java 执行Sql文件

定义数据库连接属性:

static String diverName="oracle.jdbc.driver.OracleDriver";
	static String url = "jdbc:oracle:thin:@192.168.90.11:1521:ucap";
	static String user="armyoa73015";
	static String pwd = "armyoa73015";

1. 执行的方法(依赖ant.jar):

static String fileName = "D:\\workspace\\huzhou\\jd-txt73015\\sql\\f_xxyr_xlcjdj.sql";
	public static void runSqlFile(){
		
		SQLExec sqlExec = new SQLExec();
		sqlExec.setDriver(diverName);
		sqlExec.setUrl(url);
		sqlExec.setUserid(user);
		sqlExec.setPassword(pwd);
		
		sqlExec.setSrc(new File(fileName));
		sqlExec.setEncoding("GBK");
		
		DelimiterType dt = new DelimiterType();
		dt.setValue("row");
		sqlExec.setDelimiterType(dt);
		sqlExec.setDelimiter("/");
		sqlExec.setKeepformat(true);
		
		sqlExec.setProject(new Project());
		sqlExec.execute();
		
	}

2. 执行的方法(依赖mybatis-3.0.6.jar):

	public static void runSqlFile1(){
		try {
			Class.forName(diverName);
			Connection conn = DriverManager.getConnection(url, user, pwd);
			ScriptRunner runner = new ScriptRunner(conn);
			runner.setAutoCommit(true);
			
			File file = new File(fileName);
			
				try {
					if (file.getName().endsWith(".sql")) {
						runner.setFullLineDelimiter(true);
						runner.setDelimiter("##");
						runner.setSendFullScript(false);
						runner.setAutoCommit(true);
						runner.setStopOnError(true);
						runner.runScript(new InputStreamReader(new FileInputStream(fileName),"GBK"));
					}
				}catch(Exception e){
					e.printStackTrace();
				}
			
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

注:此方法执行后,存储过程、触发器、函数、包会处于无效状态。原因未知???




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值