最后,经过大量的工作,我与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类路径中
-
jnp-client.jar文件
-
jboss-client.jar文件
-
jbossall-client.jar文件
-
-
jboss-ejb3x.jar文件
10) 设置jndi.properties并将其放入jar hibernate-entitymanager.jar中
我希望这有助于某人或某人杰杰,我知道这是相当困难的,对不起,我的英语不是我的第一语言