Jasper Report Problem(java.io.StreamCorruptedException: invalid stream head
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperRunManager;
import com.polaris.rcx.core.DBConnect;
public class JasperDbDemo
{
public static void main(String[] args) throws SQLException
{
Connection connection = null;
ResultSet resultSet = null;
Statement statement = null;
try
{
Class.forName("oracle.jdbc.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@ltsbsrvr:1521:ltsb";
String query = "select branch_code,branch_name,gcn_dest_code,logical_dest_code from branch";
connection = DriverManager.getConnection(url,"rcxdev1","rcxdev1");
statement = connection.createStatement();
resultSet = statement.executeQuery(query);
/*while(resultSet.next())
{
System.out.println(resultSet.getString(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
System.out.println(resultSet.getString(4));
}*/
File reportFile = new File("d:/Siddharth/Database_Report.jasper");
/* FileInputStream fis = new FileInputStream(reportFile);
BufferedInputStream bufferedIn = new BufferedInputStream(fis);
System.out.println(bufferedIn);
ObjectInputStream ois = new ObjectInputStream(bufferedIn);
Object obj = ois.readObject();*/
JasperRunManager.runReportToPdfFile(reportFile.getPath(), new HashMap(),
new JRResultSetDataSource(resultSet));
}
catch (Exception e)
{
//handle the exception
e.printStackTrace();
}
finally
{
//boilerplate code to close the result set, statement, and exception
}
}
}
===============================
<?xml version="1.0"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="Database_Report">
<field name="branch_code" class="java.lang.String" />
<field name="branch_name" class="java.lang.String" />
<field name="gcn_dest_code" class="java.lang.String" />
<field name="logical_dest_code" class="java.lang.String" />
<detail>
<band height="20">
<textField>
<reportElement x="10" y="0" width="600" height="20" />
<textFieldExpression class="java.lang.String">
<![CDATA[$F{branch_code}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="80" y="0" width="200" height="20" />
<textFieldExpression class="java.lang.String">
<![CDATA[$F{branch_name}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="280" y="0" width="200" height="20" />
<textFieldExpression class="java.lang.String">
<![CDATA[$F{gcn_dest_code}]]> + " " + <![CDATA[$F{logical_dest_code}]]>
</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
==========================
EXCEPTION:
java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:87)
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:322)
at com.polaris.rcx.common.service.JasperDbDemo.main(JasperDbDemo.java:60)
NESTED BY :
java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:87)
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:322)
at com.polaris.rcx.common.service.JasperDbDemo.main(JasperDbDemo.java:60)
NESTED BY :
net.sf.jasperreports.engine.JRException: Error loading object from file : d:\Siddharth\Database_Report.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:322)
at com.polaris.rcx.common.service.JasperDbDemo.main(JasperDbDemo.java:60)
Caused by: java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:87)
... 2 more
Can u pls find the problem and reply ASAP...
Thanks & Regards,
Siddharth Trivedi

