iReport + PHP + SQL Server

Pessoal. Eu de novo.

Eu estou tentando criar uma página PHP para carregar o relatório que eu desenvolvi no iReport.

Sei que aqui é fórum de JAVA, mas é o único fórum que envolve o iReport, JasperXML e afins.

A questão é que meu banco é SQL Server 2005.

Eu estou colocando esse código:

<?php

	include_once('class/tcpdf/tcpdf.php');
	include_once("class/PHPJasperXML.inc.php");
	include_once ('conexao.php');

	$xml =  simplexml_load_file("VRM.jrxml");
	$PHPJasperXML = new PHPJasperXML();
	$PHPJasperXML->debugsql = true;
	$PHPJasperXML->arrayParameter = array("ID_Relatorio"=>(int)$_GET['idrel']);
	$PHPJasperXML->xml_dismantle($xml);

	//$PHPJasperXML->transferDBtoArray($db_host, $db_user, $db_pass, $db_base);
	$PHPJasperXML->outpage("I");

?>

Eu comentei a Linha TransferDBtoArray() porquê eu já tenho uma string de conexão na página ‘conexao.php’, então acredito ser desnecessário.

Quando comentei a página rodou.
Mas apareceu "No Data Found", acho que porquê ele não encontrou registros certo ?

Mas eu tenho registros na minha base de dados com o código do relatório que estou passando.

Alguém tem uma ideia do que pode ser ?

Obrigado !

Consegui fazer sumir a mensagem que aparecia.

Mas agora em vez de ele montar o relatório ele mostra o SELECT ou consulta que eu fiz no no relatório.

Mostra o SELECT na tela como texto.

AFF !

Eu comentei a linha DEBUGSQL e saiu o SELECT da tela.

Mas apareceu o No Data Found de novo.

Tô com o mesmo problema! Alguém tem a solução?

Olá, não sei se a classe esta obsoleta ou se existe outra melhor, mas mesmo assim adicionei o suporte para MS SQL Server, o PHPJasperXml não é perfeito, mas funciona razoavelmente bem.

A classe do MS SQL usada foi a SQLSRV, caso haja duvida sobre o funcionamento pesquise.

Versão 0.9d, corrigi a identação do codigo e algumas melhorias na formatação de valores.

Deixo aqui o link para download https://mega.nz/#!NNxhRbQR!nRhxPvAuraXVeHZ_Z1-jgphu3PvIGBhRAHvMPXwXxXw

Próximo a linha 5404, o while para ajustar ao tamanho pode causar um bug para tipos data, para contornar isso no iReport utilize sempre ‘Print When Detail Overflows = checked’.

Ajustei somente o sample1.php, fiz dois relatórios simples e funcionou, mas tem algumas limitações e caso você faça uso de alguma função do iReport que não funcione simplesmente a tela fica branca ou aparece que não conseguiu retornar dados do database, para mostrar o erro real você deve comentar uma linha //error_reporting(E_ALL);…

Se alguém fizer alguma modificação boa eu gostaria de saber.

Obrigado!

Ola Fabrício tudo bem ?
Sua modificação ajudou bastante consegui fazer bastante coisa com os meus relatórios já prontos em jrxml, no entanto como você mesmo disse relatórios mais complexos ele não funciona, tentei varias coisas aqui e não consegui resolver. Aparece simplesmente um conteúdo em branco ou mesmo nada do relatório é exibido.

Pesquisando na internet encontrei um outro projeto chamado phpjasper, no entanto esse utiliza laravel e composer que pouco conheço, cheguei até a instalar as ferramentas aqui achei bem interessante mas ainda tenho que pesquisar bastante coisa, eu gostaria muito que o PHPJasperXml funcionasse nem que fosse necessário alguma modificação.

Se alguem tiver alguma novidade não deixem de ajudar, pois creio que ajude muita gente