当我尝试在我的Java桌面应用程序中显示我的.rpt报告(Crystal Report XI文件)时,我遇到以下错误。
当我称这种方法时:
try {
.... //some code that works correctly
reportClientDoc.getDatabaseController().logon(USERNAME, PASSWORD);
}
catch(ReportSDKException ex) {
System.out.println(ex.getMessage());
System.out.println(ex.getCause());
System.out.println(ex);
}
它抛出此警告和异常:
log4j:WARN找不到记录器的appender (com.crystaldecisions.reports.reportdefinition.ReportDocument)。
log4j:WARN请正确初始化log4j系统。
Errore nella ricerca del nome JNDI (d:\ Documenti \的NetBeansProjects \ italpolVigilanza \ dbData \ italpol.mdb)
com.crystaldecisions.reports.common.JndiNotFoundException:Errore nella ricerca del nome JNDI (d:\ Documenti \的NetBeansProjects \ italpolVigilanza \ dbData \ italpol.mdb)
com.crystaldecisions.sdk.occa.report.lib.ReportSDKException:Errore nella ricerca del nome JNDI (d:\ Documenti \的NetBeansProjects \ italpolVigilanza \ dbData \ italpol.mdb)---- 错误代码:-2147467259错误代码名称:失败
我只在我的应用程序中导入了log4j.jar。我必须做一些具体的初步步骤吗?
答案 0 :(得分:1)
我怀疑线索是在早期的错误消息中,(根据谷歌)在意大利语中说“JNDI名称搜索中的错误”。
简而言之,您的应用程序似乎希望通过JNDI找到对数据库控制器的引用,但它不存在。
顺便说一下,“错误代码:-2147467259”可能只是由于应用程序调用{{1}}。
答案 1 :(得分:0)
See this, Java Reporting Component Deployment Guide,尤其是关于设置log4j的部分 阅读完文档后,您应该能够更详细地查看错误消息,然后进行报告。