conn = dao.connect();
if(cp.isDrop){
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_TABLE], cp, true);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_VIEW], cp, true);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_PROCEDURE], cp, true);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SYNONYM], cp, true);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SEQUENCE], cp, true);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_FK], cp, true);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_TABLE], cp, true, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_VIEW], cp, true, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_PROCEDURE], cp, true, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SYNONYM], cp, true, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SEQUENCE], cp, true, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.DROP_FK], cp, true, false);
}
subFolder = new File(folder + "/TABLES");
inFiles = subFolder.listFiles();
for(int k=0;k<inFiles.length;k++){
flName = CmnUtils.splitDot(inFiles[k].getName());
tbName = flName[0];
- executeSqlFile(dao, stmt, subFolder + "/" + inFiles[k].getName(), cp, false);
+ executeSqlFile(dao, stmt, subFolder + "/" + inFiles[k].getName(), cp, false, false);
}
}
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY], cp, false);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY], cp, false);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX], cp, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY], cp, false, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY], cp, false, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX], cp, false, false);
subFolder = new File(folder + "/VIEWS");
inFiles = subFolder.listFiles();
int view_count = 0;
for(int k=0;k<inFiles.length;k++){
flName = CmnUtils.splitDot(inFiles[k].getName());
viewName = flName[0];
- executeSqlFile(dao, stmt, subFolder + "/" + inFiles[k].getName(), cp, false);
+ executeSqlFile(dao, stmt, subFolder + "/" + inFiles[k].getName(), cp, false, false);
}
}
subFolder = new File(folder + "/PROCEDURES");
for(int k=0;k<inFiles.length;k++){
flName = CmnUtils.splitDot(inFiles[k].getName());
procName = flName[0];
- executeSqlFile(dao, stmt, subFolder + "/" + inFiles[k].getName(), cp, false);
+ executeSqlFile(dao, stmt, subFolder + "/" + inFiles[k].getName(), cp, false, true);
}
}
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_SEQUENCE], cp, false);
- executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_FK], cp, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_SYNONYM], cp, false, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_SEQUENCE], cp, false, false);
+ executeSqlFile(dao, stmt, folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_FK], cp, false, false);
CmnUtils.infoPrint("\83\81\83^\83f\81[\83^\83\8d\81[\83h\82ð\8fI\97¹\82µ\82Ü\82µ\82½\81B");
}
}
- private void executeSqlFile(DataAccessObjects _dao, PreparedStatement _stmt, String _infile, CmnProperty _cp, boolean _isResume) throws Exception{
+ private void executeSqlFile(DataAccessObjects _dao, PreparedStatement _stmt, String _infile, CmnProperty _cp, boolean _isResume, boolean _isReplace) throws Exception{
BufferedReader br = null;
String strLine = null;
String strMltLine = "";
while((strLine=br.readLine()) != null){
strMltLine += _cp.inColLineSeparator + strLine;
}
- sqlLine = CmnUtils.split(strMltLine, ";");
- for(int l = 0;l<sqlLine.length;l++){
- if(!sqlLine[l].equals("")){
+ if(_isReplace){
+ if(!strMltLine.equals("")){
try {
- _stmt = _dao.prepareSql(sqlLine[l]);
+ _stmt = _dao.prepareSql(strMltLine.replaceAll("\r",""));
_stmt.executeUpdate();
if(_stmt != null){
_stmt.close();
}
}
}
+ } else {
+ sqlLine = CmnUtils.split(strMltLine, ";");
+ for(int l = 0;l<sqlLine.length;l++){
+ if(!sqlLine[l].equals("")){
+ try {
+ _stmt = _dao.prepareSql(sqlLine[l].replaceAll("\r",""));
+ _stmt.executeUpdate();
+ if(_stmt != null){
+ _stmt.close();
+ _stmt=null;
+ }
+ } catch (Exception e) {
+ if(!_isResume){
+ throw e;
+ }
+ }
+ }
+ }
}
}
}