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