0

我想使用水晶报告为java中的项目制作报告,我必须使用jndi连接才能使用apache tomcat 7作为jndi提供者,我一直在寻找几个教程,但其中任何一个都足够明确,我会就像一个可以帮助我做到这一点的教程。

4

1 回答 1

0

这对我有用:

<Resource name="jdbc/MyDataSourceSameNameOfWhatIsInTnsNames"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
username="MyUserName"
password="MyPassword"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = My.Ip.From.Host)(PORT = 1523))    )    (CONNECT_DATA =      (SERVICE_NAME = TESTES)    )  )"
maxWait="1000"
removeAbandoned="true"
maxActive="30"
maxIdle="10"
removeAbandonedTimeout="60"
logAbandoned="true"/>

上面的“url”属性,在“@”之后,与我的 TNSNAMES.ora 中的值相同。诀窍是您必须使用 oracle 连接并使用与 JNDI 名称相同的 tns 名称从水晶报告连接,并在连接此 tns 后保存报告。

从 java 执行时,它会搜索存储在报告中的同名 JNDI,一切正常。

另一件事:我必须将 context.xml 放在我的应用程序文件夹中(...tomcat/webapps/MyAppName/META-INF/context.xml)。

于 2014-03-07T12:09:14.913 回答