public void initReport(File xmlFile, File confFile, File logPrc, File reportPrc, Date runDate) throws InstallException
{
Document bossDoc = converHibernateConfig(xmlFile, confFile);;
String strLogPrc = readFile(logPrc);
String strReportPrc = readFile(reportPrc);
HibernateConfig config = new HibernateConfig();
Session session;
try
{
config.configure(bossDoc);
SessionFactory sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
}catch(Exception exp){
throw new InstallException(exp.getMessage());
}
Transaction tran = null;
try
{
tran = session.beginTransaction();
writeLog("创建WriteLog存储过程");
session.connection().createStatement().execute(strLogPrc);
//writeLog("编译存储过程");
//session.connection().createStatement().execute("compile;");
writeLog("创建dialy_report_proc存储过程");
session.connection().createStatement().execute(strReportPrc);
//writeLog("编译存储过程");
//session.connection().createStatement().execute("compile");
tran.commit();
writeLog("报表数据初始化成功");
}catch(HibernateException exp){
try
{
tran.rollback();
}catch(HibernateException exp1){
throw new InstallException(exp1.getMessage());
}
throw new InstallException(exp.getMessage());
}catch(SQLException exp){
try
{
tran.rollback();
}catch(HibernateException exp1){
throw new InstallException(exp1.getMessage());
}
throw new InstallException(exp.getMessage());
}finally{
try
{
session.close();
}catch(HibernateException exp){
throw new InstallException(exp.getMessage());
}
}
}
另外:需要将存储过程的文件保存为Unix格式,否则不能使用。