Jasper reports 如何在ireport上设置jdni.properties

Jasper reports 如何在ireport上设置jdni.properties,jasper-reports,jndi,ireport,Jasper Reports,Jndi,Ireport,7.2对于ejbql连接,我的问题是,当我测试连接时,由于找不到数据源而失败,日志中显示: 原因:org.hibernate.HibernateException:找不到数据源 原因:javax.naming.NoInitialContextException:需要在环境或系统属性中指定类名,或作为小程序参数,或在应用程序资源文件中指定类名:java.naming.factory.initial I guees可以是jndi.properties,在错误的目录中,我尝试将其放入java_home

7.2对于ejbql连接,我的问题是,当我测试连接时,由于找不到数据源而失败,日志中显示:

原因:org.hibernate.HibernateException:找不到数据源

原因:javax.naming.NoInitialContextException:需要在环境或系统属性中指定类名,或作为小程序参数,或在应用程序资源文件中指定类名:java.naming.factory.initial


I guees可以是jndi.properties,在错误的目录中,我尝试将其放入java_home/lib,但不起作用

最后,在做了大量工作之后,我与ireport建立了ejbql连接。按照以下步骤操作

1) 我使用的是JBoss4.2.3,因此如果您使用glashfish或其他服务器,请查找与我使用的jboss匹配的库

2) 您需要在jboss目录服务器/default/lib中找到以下库:

  • hibernate3.jar
  • hibernate-entitymanager.jar
  • jboss-common.jar
  • hibernate-annotations.jar
  • ejb3-persistence.jar
  • jboss.jar
3) 复制以前命名的库,并将ireport安装目录复制到此路径\Jaspersoft\ireport-3.7.2\ireport\modules\ext中,并将其替换。请注意,需要从该路径中删除库调用hibernate common annotation和jpa.jar。您需要这样做,因为该库会与hibernate注释和ejb3-persistence.jar产生冲突

4) 获取项目的jar并将其复制到您的中。在本例中,让我们将其称为example-core.jar,并将其复制到路径为\Jaspersoft\iReport-3.7.2\iReport\libs的安装目录中

5) 修改项目的persistence.xml(在我们的例子中是“example.jar”)的jar文件,并设置下一个属性




org.hibernate.ejb.HibernatePersistence
/jdbc/示例






6) 转到ireport并将库添加到类路径中,在类路径选项卡的工具、选项中

7) 转到路径Jaspersoft\iReport3.7.2\ireport\modules中的ireport安装目录,使用winrar或其他工具打开名为com Jaspersoft ireport的jar,并转到类路径部分的META-INF/MANIFEST.INF修改库“hibernate common annotation.jar”的名称(请记住删除此库)“hibernate annotations.jar”

8) 转到Jboss_home/server/default/deploy并修改项目的数据源xml并放置此配置(请记住,在本例中,项目称为“example”,数据源应称为example ds.xml)



jdbc/示例

jdbc:oracle:thin:@localhost:1521:XE
oracle.jdbc.driver.OracleDriver
示例
示例
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter

Oracle9i


请注意,false中的属性usa java context允许您从ireport访问jboss之外的数据源

9) 转到ireport并将以下库添加到ireport类路径中

  • jnp-client.jar
  • jboss-client.jar
  • jbossall-client.jar
  • 本例中的数据库驱动程序ojdbc.jar(用于oracle)
  • jboss-ejb3x.jar
  • 10) 设置jndi.properties并将其放入jar hibernate-entitymanager.jar中

    11) 现在运行jboss,转到ireport并创建ejql连接,在持久化单元名称中,设置位于安装目录Jaspersoft\ireport-3.7.2\ireport\libs中jar的persistence.xml中的名称,在这种情况下,持久化单元名称是“example”,没有引号

    我希望这对某人或某人有所帮助,jeje,我知道这很难,对不起,我的英语不是我的第一语言