JasperReport no unix

4 respostas
L

Oi galera, estou com um erro qd eu executo meu jasper no servidor unix/jboss/oracle, porém qd eu roda na minha máquina com o servidor linux/jboss/oracle ele funciona numa boa. O erro é esse

No X11 DISPLAY variable was set, but this progrm performad an operation which requires it.

eu executo o jrxml assim

rset = db.executeQuery( sql );
JasperReport relatorio = JasperCompileManager.compileReport( "layout.jrxml" );
JasperPrint impressao = JasperFillManager.fillReport( relatorio, parametros, new JRResultSetDataSource(rset) );
JasperViewer viewer = new JasperViewer( impressao, true );
JasperViewer.viewReport( impressao, false );

Pesquisei na net e vi um comando para eu executar no servidor

export DISPLAY=127.0.0.1:0.0

Mas o que faz esse comando? Será q se eu executá-lo vai zoar meu servidor? Executando esse comando com o ip 127.0.0.1 o relatório vai abrir em qq máquina q eu rodar a aplicação?
Vlw…

4 Respostas

D

Bom dia Lipe…

bom, esse comando que vc achou na web vai jogar a saída para o IP que vc apontou ali…
coloque o IP da sua maquina…que cada vez q. vc executar o relatório no servidor ele vai jogar a saída para a sua tela…
Mas, essa não é solução para o que vc quer fazer…(pelo que eu entendi vc está fazendo uma aplicação web e quer dar a opção de gerar relatórios, certo?)…vc poder, fazer com o que o relatório exporte em PDF (gere a saída em PDF)…sendo assim qualquer um que tiver o adobe ou programa que abra PDF, vai conseguir abrir em sua máquina…
ou vc pode ter um applet que receba o viwer do jasper…um applet assinado…

Espero ter sido clara…

[]'s

L

Oi Diana, obrigado pela força… estou tentando fazer com que ele gere um pdf mesmo…

rset = db.executeQuery( sql );
// Compila o relatório
JasperReport relatorio = JasperCompileManager.compileReport( layout );
// executa o relatório
JasperPrint impressao = JasperFillManager.fillReport( relatorio, parametros, new JRResultSetDataSource(rset) );

JRResultSetDataSource jrRS = new JRResultSetDataSource( rset );
JasperFillManager.fillReportToFile( JasperCompileManager.compileReportToFile( layout ), parametros, jrRS );
JasperExportManager.exportReportToPdfFile( impressao, pdf );

Mas ai eu estava direcionando no meu struts-configo o arquivo pdf…

<action attribute="relatorioGerarSalvarForm"  input="/relatoriogerarempregado.jsp" name="relatorioGerarSalvarForm" path="/relatorioGerarSalvar" scope="session" type="treinar.action.RelatorioGerarSalvarAction" unknown="false" validate="true">
    <forward name="success" [color=red]path="/pdf/relatorio.pdf"[/color] redirect="false" contextRelative="false" />
    <forward name="error" path="/erros.jsp" redirect="false" contextRelative="false" />
</action>

Mas esse não é o melhor jeito, não é Diana?
Vc sabe qual é o melhor? Devo direcionar para uma jsp que tenha um link para o relatorio.pdf? Como eu faço isso?

Vlw Diana![/code]

L

Oi Diana, fiz o segionte na minha jsp

<%@ page contentType="application/pdf;charset=ISO-8859-1"%>
<%@include file="/pdf/relatorio.pdf" %>

mas ele tava dando esse problema ainda

java.lang.NoSuchMethodError: com.lowagie.text.pdf.PdfContentByte.transform(Ljava/awt/geom/AffineTransform;)V

era pq estava faltando a biblioteca jboss-3.2.5/server/default/lib/itext-1.02b.jar

Agora funcionou, vlw Diana, vlw galera!!! :wink:

D

é isso garoto!!!
\o/\o/\o/\o/\o/\o/
[]'s

Criado 25 de julho de 2006
Ultima resposta 26 de jul. de 2006
Respostas 4
Participantes 2