2012-02-21 10 views
0

このTomcatデータソースは、明らかにJNDIに登録されます。クリスタルレポートAPIは、JNDI名 "TESTDB"の下に "jdbc/TESTDB"(以下)を見つけます。スタンドアロンプ​​ログラムでこれを設定する最も簡単な方法は何ですか?私はいくつかのデータソースレポートを持っているので、私の好みの方法はすべてのJNDIエントリを設定して必要なものを参照してオンデマンドで使用するようにすることです。既存のレポートは変更されず、ODBC接続を参照しません。スタンドアロンプ​​ログラムのCrystal Reports Java API用TomcatのJNDIデータソースを模倣

スタンドアロンアプリケーションでこのJNDI Tomcatエントリを模倣する必要があります。私は最大のパラメータのいずれかを懸念していないよ:

<Context> 

    <Resource name="jdbc/TESTDB" auth="Container" type="javax.sql.DataSource" 
       maxActive="100" maxIdle="30" maxWait="10000" 
       username="user" password="passwd" driverClassName="oracle.jdbc.OracleDriver" 
       url="jdbc:oracle:thin:@dbserver:1521:db1"/> 
</Context> 

これはTomcatを使用してアクションで、このセットアップを示しクリスタルレポートの例です:

http://www.javathinking.com/2011/09/using-the-crystal-reports-java-api-to-generate-pdf/

+0

[簡単な方法でスタンドアロンのJNDIサーバーを開始(およびいくつかのリソースを登録する)]可能な複製](http://stackoverflow.com/questions/5861874/easy-way-to-start-a-standalone-jndi-server -and-register-some-resources) –

答えて

0

あなたはJNDIプロバイダーが必要です。 SimpleJNDI-http://code.google.com/p/osjava/wiki/SimpleJNDI - Java EEコンテナの外部のアプリケーションシナリオで使用できます。

Crystal Reportが必要とするデータ構造をSimpleJNDIでサポートされている形式で表現する方法を調査する必要があります。

+0

SimpleJNDIを設定するのはややこしいことでした。あなたはそれがうまくいくことを知っていたので、私は努力を払い、それは報われました。ありがとう! – jcalfee314

+0

私は 'ini'設定方法を使い終わりました。私はjndi.propertiesファイルを変更しませんでした。私は、レポートで使用される潜在的なODBCデータ接続ごとに1つの.iniファイルを作成しました。 iniファイルxyz.iniの名前は、レポート内の(.iniを除いた)私のデータソースの名前と一致します。したがって、xyzはレポートにあります。各データソース名は、構成内に1回だけ表示されます。余分な設定ファイルを削除しました(ここには記載されていません)。 不足しているクラスに関するバグレポートを開設しました:http://code.google.com/p/osjava/issues/detail?id=13 – jcalfee314

+0

うまくいきました。 –

関連する問題