hallo zusammen,
bin leider nicht so fit in java, nachfolgender Code ist komplett in einer Main-Methode.
Gibt es auch die Möglichkeit die das ganze Konstrukt nur über eine Main nur aufzurufen?
also quasi so:
KlasseDisableConstraints{
bla bla
}
main{
Klassenaufruf
}
bin leider nicht so fit in java, nachfolgender Code ist komplett in einer Main-Methode.
Gibt es auch die Möglichkeit die das ganze Konstrukt nur über eine Main nur aufzurufen?
also quasi so:
KlasseDisableConstraints{
bla bla
}
main{
Klassenaufruf
}
Java:
public class DisableConstraints {
public static Logger logger = Logger.getLogger(DisableConstraints.class);
public static DBOracle dboracle = new DBOracle();
public static void main(String[] args) throws SQLException {
logger.info("------------- Beginn DisableConstraints.java ---------------------- ");
Connection c5taddatConnection = dboracle.getConnection("connection");
dboracle.executeSQLsilent("update ablaufplan set startzeit = sysdate where name = 'DisableConstraints.java'", connection);
dboracle.executeSQLsilent("begin for i in (select constraint_name, table_name from user_constraints where table_name like 'XXX_%' and constraint_name like 'XXX%') LOOP execute immediate 'alter table '||i.table_name||' disable constraint '||i.constraint_name||''; end loop; end;", connection);
BigDecimal countEnabled = dboracle.executeSelectInt("select count(1) EINS from user_constraints where table_name like 'XXX_%' and constraint_name like 'XXX%' and status != 'DISABLED'", connection);
if(countEnabled.longValue() == 0) {
logger.info("Constraints deaktivieren war erfolgreich. ConstraintsEnabled=" + countEnabled);
}
else
{
logger.error("ERROR: Constraints deaktivieren war NICHT erfolgreich. ConstraintsEnabled=" + countEnabled);
}
dboracle.executeSQLsilent("update ablaufplan set status = " + countEnabled + ", endzeit = sysdate where name = 'DisableConstraints.java'", connection);
connection.close();
logger.info("---------- Ende DisableConstraints.java ----------------------");
logger.info(".");
}
}