// 不存在的情况下,创建新表
try {
DbTableProcess.createOrDropTable(cgFormHead, getSession());
} catch (Exception e) {
logger.error(e.getMessage(),e);
throw new BusinessException("同步失败:创建新表出错");
}
}
cgFormHead.setIsDbSynch("Y");
this.saveOrUpdate(cgFormHead);
}else if(SYN_FORCE.equals(synMethod)){
//强制方式同步
try {
try{
String sql = getTableUtil().dropTableSQL(cgFormHead.getTableName());
this.executeSql(sql);
}catch (Exception e) {
//部分数据库在没有表而执行删表语句时会报错
logger.error(e.getMessage());
}
DbTableProcess.createOrDropTable(cgFormHead, getSession());
cgFormHead.setIsDbSynch("Y");
this.saveOrUpdate(cgFormHead);
} catch (Exception e) {
logger.error(e.getMessage(),e);
throw new BusinessException("同步失败:创建新表出错");
}
}
} catch (Exception e) {
logger.error(e.getMessage(),e);
throw new BusinessException("同步失败:数据库不支持本次修改,如果不需要保留数据,请尝试强制同步");
}
return true;
}