Boa tarde, estou tentando conectar a um relatorio .rpt feito no crystal, usando o seguinte código:
//Open report.
ReportClientDocument reportClientDoc = new ReportClientDocument();
reportClientDoc.open(reportname, 0);
ParameterFieldController paramController = reportClientDoc.getDataDefController().getParameterFieldController();
paramController.setCurrentValue("","dataini",new Date(2012,10,25));
ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
reportClientDoc.close();
byte byteArray[] = new byte[byteArrayInputStream.available()];
//Create a new file that will contain the exported result.
File file = new File(exportfilename);
FileOutputStream fileOutputStream = new FileOutputStream(file);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(byteArrayInputStream.available());
int x = byteArrayInputStream.read(byteArray, 0, byteArrayInputStream.available());
byteArrayOutputStream.write(byteArray, 0, x);
byteArrayOutputStream.writeTo(fileOutputStream);
//Close streams.
byteArrayInputStream.close();
byteArrayOutputStream.close();
fileOutputStream.close();
Porém, esta me gerando uma excessão do banco, informando que preciso fazer o login:
[color=red]Your user name and password are not defined. Ask your database administrator to set up a Firebird login[/color]
Se eu tirar as linhas 4 e 5, que supostamente adicionam um parametro definido no relatório, ele gera o relatorio normalmente, usando os dados da conexão que eu defini no relatorio… mas deixando essas linhas ele nao esta conseguindo fazer a conexão… acredito que preciso passar os dados da conexão pro relatorio mas nao consegui encontrar um metodo especifico pra isso, e como na internet quase nao tem exemplos disso…
Alguém sabe resolver esse problema?
Obrigado desde já