Erro no IReport e JasperReport

11 respostas
von.juliano

Olá pessoal, tudo ok?

Olha só, eu estou criando um relatório com o IReport, que deve ler os dados de um arquivo XML, eu coloquei só um campo de parâmetro que eu acho q é para ler do XML:

E não importa que método eu chame, sempre aparece o seguinte erro ao compilar o relatório:

Se alguém poder fazer o favor de me ajudar eu agradeço muito!

11 Respostas

J

Você criou o parâmetro XML_DATA_DOCUMENT no iReport?

Pode ser feito acessando o menu View -> Report Parameters botão New.

von.juliano

julianostr:
Você criou o parâmetro XML_DATA_DOCUMENT no iReport?

Pode ser feito acessando o menu View -> Report Parameters botão New.

Não criei, pq essa parâmetro já está criado, eu só tentei usá-lo, acho que ele está lá justamente para ler do XML, ou não? Há outra forma?

J

Na minha versão (0.5.1) esse parâmetro não aparece como um dos default.

von.juliano

Eu uso a versão 1.3.0. Esse parâmetro pode estar com erro?

Vc pode me passar o procedimento para ler dados de um XML (é a primeira vez que eu tenho q fazer isso)?

Obrigado!

J

Vixi, cara, não sei não. Daí você vai ter que pesquisar mais sobre o assunto pois eu não conheço as versões mais novas do iReport.

von.juliano

Na versão que você usa não é possível ler XML?

Se for, vc pode me passar a configuração do parâmetro?

J

Ops, me expressei mal. Eu nunca fiz isso também, por isso eu respondi “não sei não”. É que soou de uma maneira diferente né.

Eu andei olhando aqui e essa minha versão aceita sim arquivos .xml como fonte de dados mas eu não sei como recuperá-los ainda.

Já direcionei a fonte (Active connection) para o arquivo que eu criei mas não estou sabendo ainda como montar o select pra isso.

O jeito é ir fuçando…procurando algum tutorial ou help na net.

von.juliano

Pior que na net até tem uns tutoriais, o único problema é que todos usam algum banco de dados como exemplo. Se pelo menos tivesse um relatório pronto, feito dessa forma, era só importar.

Vamos ver né? Valew!!!

M

Bom dia.
Estou fazendo um relatório que lê dados de um arquivo CSV. Para isto tive que criar uma conexão (data - conexão/Fonte da Dados/new). Ainda não usei nenhum arquivo XML mas a teoria é a seguinte:

Crie uma conexão ( Data - Conexão/Fonte de Dados/New)
  Digite um nome para sua conexão
  Escolha o tipo XML File DataSorce
  Informe o nome do arquivo XML a ser usado
  Informe a expressão para o select

Tome este arquivo XML como exemplo.

Davolio Nancy< Fuller< Andrew Leverli Peacock Margar

Uma expressão para selecionar todas as pessoas seria

/addressbook/category/person

Seriam retornados 4 nós

Davolio</lastn Nancy</firstn Fuller</lastna Andrew</first Leverling</las Peacock</lastn Margaret</fir

Para selecionar apenas as pessoas da categoria trabalho a expressão seria

/addressbook/category[@name = "work"]/person

O resultado seria

Peacock</lastn Margaret</fir

Os campos terão que ser criados conforme tabela abaixo:

Fieldname Description Type
ID @id Integer
LASTNAME lastname String
FIRSTNAME forname String
CATEGORY ancestor::category/@name String

Depois é só montar o relatório e pronto. Como disse esta é a teoria. Não tenho experiencia com arquivos XML. Espero que estas informaçoes te ajudem.

Aproveitando… estou comproblemas para usar a Expressão de filtragem para um relatório que lê os dados de um arquivo CSV. Quando uso uma expressão do tipo:

$F{nome}.conpareTo("AAA")>0

Aparece o erro

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(((java.lang.String)field_nome.getValue()).compareTo(“AAA”)>0);

Alguma dica???

jesley.sena

Coloque sua expressão dentro de um Boolean. Isso acontece qdo vc está utilizando o campo “Print when expression”. Para isso coloque sua expressão inteira dentro de um:

new Boolean("SUA EXPRESSÃO")
L

A indicação do jesley.sena é a correção para o problema apresentado pelo criador do tópico. Mesmo fazendo tanto tempo, acho importante postar a confirmação da solução para que possa ajudar quem está com esta mesma inconsistência.

Eu estava com a mesma dúvida. “Por que fazer cast de boolean pra boolean?” Instanciando o boolean, o iReport se encontra.

Criado 22 de janeiro de 2007
Ultima resposta 28 de fev. de 2012
Respostas 11
Participantes 5