Crystal Reports を使用して 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 名を使用して Crystal レポートから接続し、この tns に接続した後にレポートを保存する必要があることです。
Java から実行すると、レポートに保存されている同じ名前の JNDI が検索され、すべて正常に動作します。
もう 1 つ: context.xml をアプリ フォルダー (...tomcat/webapps/MyAppName/META-INF/context.xml) に配置する必要がありました。
于 2014-03-07T12:09:14.913 に答える