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
}
Java:
publicclassDisableConstraints{publicstaticLogger logger =Logger.getLogger(DisableConstraints.class);publicstaticDBOracle dboracle =newDBOracle();publicstaticvoidmain(String[] args)throwsSQLException{
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(".");}}
Meinst du sowas? Hier hast du eine Starter Klasse die nur dafür da ist, den Einstieg zu gewährleisten. In der main() Methode wird das DisableConstraints Objekt erzeugt und in dem Konstruktor des DisableConstraints Objekts wird dein Code ausgeführt.
Vielen Dank! genau das hat mir gefehlt. Kann jetzt meine Klasse wunderbar über die main mittels new Klassenname aufrufen.
Das ist wohl schöner als das andere ?
Wenn du in Zukunft mehr mit Code zu tun haben solltest, hier eine Buchempfehlung und ein Link zu einer Seite die sich mit guten Code beschäftigt... wenn nicht... auch egal