0

Crystal Reports を使用して 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 名を使用して Crystal レポートから接続し、この tns に接続した後にレポートを保存する必要があることです。

Java から実行すると、レポートに保存されている同じ名前の JNDI が検索され、すべて正常に動作します。

もう 1 つ: context.xml をアプリ フォルダー (...tomcat/webapps/MyAppName/META-INF/context.xml) に配置する必要がありました。

于 2014-03-07T12:09:14.913 に答える