使用 java 来调用sql plus执行oracle ddl dml脚本

使用bat 脚本,完成用sql plus 执行sql 脚本的功能

@echo off
cd %3
sqlplus %1/%2@%6 as sysdba @%4

echo 1
exit

可以用java来调用


public boolean executeByCommand(String filePath, String commandRootDir){

try {
LOGGER.info("file path = " + filePath);
String sqlBat = SQLManager.class.getClassLoader().getResource("bat/runSQL.bat").getPath();
String commandExe = sqlBat + " " + Constant.properties.getProperty("LOC_DB_USER")
+ " " + Constant.properties.getProperty("LOC_DB_ADMIN") + " "
+ commandRootDir + " " + filePath + " "
+ Constant.properties.getProperty("BAT_LOG") + " " + Constant.properties.getProperty("LOC_DB");
LOGGER.info("Command: " + commandExe);
String result = BatUtils.runBat(commandExe);
if (result.trim().equals("1")) {
LOGGER.info("execute command successfully...");
} else {
LOGGER.info("command:" + commandExe);
LOGGER.info("execute command failure...");
throw new Exception("execute command failure...");
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {

}
return true;

}




@Test
public void test_executeByCommand(){
//sqlplus gcedba/[email protected]:1521/ORCL.corp.statestr.com
SQLManager manager = new SQLManager();
manager.executeByCommand("update_test_sql.sql",
"C:\\a528692\\GC_Code_Base\\develop_samples\\haibin_pb_tool\\src\\test\\resources\\");


}

你可能感兴趣的:(DB,oracle,oracle,sql,plus)