代码之家  ›  专栏  ›  技术社区  ›  Jorge

如何在ireport上设置jdni.properties

  •  0
  • Jorge  · 技术社区  · 16 年前

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

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

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

    1 回复  |  直到 9 年前
        1
  •  2
  •   Jorge    16 年前

    最后,经过大量的工作,我与ireport建立了ejbql连接。按照以下步骤操作!!

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

    2) 您需要在jboss directory server/default/lib中找到以下库:

    • hibernate-entitymanager.jar文件
    • jboss-common.jar文件
    • ejb3-persistence.jar文件
    • jboss.jar文件

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

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

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0">
    <persistence-unit name="example" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <non-jta-data-source>/jdbc/example</non-jta-data-source>
    <properties>
    <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
    <property name="hibernate.hbm2ddl.auto" value="update"/>
    <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>
    </properties>
    </persistence-unit>
    </persistence>

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

    <datasources>
    <local-tx-datasource>
    <jndi-name>jdbc/example</jndi-name>
    <use-java-context>false</use-java-context>
    <connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>example</user-name>
    <password>example</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
    <metadata>
    <type-mapping>Oracle9i</type-mapping>
    </metadata>
    </local-tx-datasource>
    </datasources>

    注意,属性usajavacontext为false,允许您从ireport访问jboss之外的数据源

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

    1. jnp-client.jar文件
    2. jboss-client.jar文件
    3. jbossall-client.jar文件
    4. jboss-ejb3x.jar文件

    10) 设置jndi.properties并将其放入jar hibernate-entitymanager.jar中

    我希望这有助于某人或某人杰杰,我知道这是相当困难的,对不起,我的英语不是我的第一语言

    推荐文章