Problème affichage dans la console
bonjour,
j'ai une classe JAVA qui me permet d'exécuter des Targets d'un fichier XML.elle doit me filer la resultat du test.voila la classe:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| package com.cylande.test.cactus;
import java.io.File;
import org.apache.tools.ant.DefaultLogger;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.ProjectHelper;
import org.apache.tools.ant.taskdefs.SQLExec;
public class ExcuteQuery {
public void execSQLScript(String targetName) {
File buildFile = new File("build.xml");
Project p = new Project();
DefaultLogger consoleLogger = new DefaultLogger();
consoleLogger.setErrorPrintStream(System.err);
consoleLogger.setOutputPrintStream(System.out);
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
p.addBuildListener(consoleLogger);
p.setUserProperty("ant.file", buildFile.getAbsolutePath());
p.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
p.addReference("ant.projectHelper", helper);
helper.parse(p, buildFile);
p.executeTarget(targetName);
}
public static void main(String args[]){
System.out.println("**********hello******/n");
ExcuteQuery pp=new ExcuteQuery();
try {
pp.execSQLScript("creation");
System.out.print("pas crash");
} catch (Exception e) {
e.toString();
System.out.print(e.toString());
System.out.print("crash");
}
try {
pp.execSQLScript("alimentation");
} catch (Exception e) {
e.toString();
System.out.print(e.toString());
}
}
} |
et voila le fichier build.XML qu'elle dois executer:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| <?xml version="1.0" encoding="UTF-8"?>
<project name="monProjet" default="creation" basedir=".">
<property file="cactus.properties" />
<property name="ScriptCreation" value="${Creation.location}"/>
<property name="ScriptAlimentation" value="${Alimentation.location}"/>
<target name="creation">
<echo message="${ScriptCreation}" />
<sql
driver="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@sek:1521:dbiclivraison"
userid="careccev"
password="cyrus"
src="${ScriptCreation}/CyrusIC_Oracle.sql"
autocommit="true"
/>
</target>
<target name="alimentation">
<sql
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@sek:1521:dbiclivraison"
userid="careccev"
password="cyrus"
src="${ScriptAlimentation}"
/>
</target>
</project> |
quand je lance ma classe.elle ouvre le fichier execute le target "creation et se bloque dans l'exécution du fichier CyrusIC_Oracle.sql.sql.elle n'affiche ni exception ni resultat de reussite.voila se qu'elle affiche:
Code:
1 2 3 4 5
| **********hello******/n
creation:
[echo] C:/WSLocal/CMD_IC/main
[sql] Executing resource: C:\WSLocal\CMD_IC\main\CyrusIC_Oracle.sql |
normalement ces ligne (que j'ai copier betement) me permet d'affichier la resultat sur la console:
Code:
1 2 3 4 5 6 7 8 9
| DefaultLogger consoleLogger = new DefaultLogger();
consoleLogger.setErrorPrintStream(System.err);
consoleLogger.setOutputPrintStream(System.out);
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
p.addBuildListener(consoleLogger); |
note que l'excution du fichier script.xml comme ant reussit.
je serai reconnaisant si qq m'aider a afficher les exeption ou bien la reussite de l'operation