2

プラットフォーム:TomEEWebプロファイル1.5.0。

私は非常に基本的なことをしようとしています。MySQLのデータソースをセットアップします。公式ガイド(http://openejb.apache.org/configuring-datasources.html)を読みました。openejb.xmlにResource要素を入力するように求められます。tomee-webprofile-1.5.0のどこにもそのファイルが見つかりません。同じ目的でtomee.xmlを使用できる他の場所を読みました。そこで、これをconf/tomee.xmlに追加しました。

<Resource id="TestDS" type="DataSource">
    JdbcDriver  com.mysql.jdbc.Driver 
    JdbcUrl jdbc:mysql://localhost/test 
    UserName    root 
    Password    some_pass 
</Resource>

MySQLドライバーJARをtomee/libフォルダーにコピーしました。

私はこのコードを書きました。ここにスニペットを表示する:

@Resource(name="TestDS") 
DataSource ds; 

Connection con = ds.getConnection(); 
PreparedStatement ps = con.prepareStatement("select * from UserProfile"); 

prepareStatement()呼び出しは、次の例外をスローします。

java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: USERPROFILE 
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source) 
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source) 

システムがhsqldbドライバーを使用しているのはなぜですか?実際、@ Resourceの名前として何を使用しても、同じ例外が発生します。

私は何が間違っているのですか?違いがあれば、私はEclipseからTomEEを開始しています。

4

4 に答える 4

3

私は根本的な原因を突き止めました。この問題は、EclipseからTomEEを起動した場合にのみ発生します。コマンドラインから起動すると、データソースの定義は問題なく機能します。

コマンドラインからTomEEを実行すると、/。metadata / .plugins / org.eclipse.wst.server.core / tmp0/confの構成ファイルが使用されているようです。これを変更するには、Eclipseで次の手順を実行する必要がありました。

  1. デプロイされたすべてのプロジェクトをサーバーから削除します。
  2. サーバー設定を開き、[サーバーの場所]から[Tomcatインストールを使用する]を選択します。少なくとも1つのプロジェクトがまだサーバーにデプロイされている場合、このセクションはグレー表示されます。したがって、ステップ1を実行したことを確認してください。
  3. サーバーを再起動し、アプリケーションを再デプロイします。今、私のアプリケーションはデータソースを見つけています。
于 2012-12-07T22:57:52.593 に答える
2

通常、インストールについてはここで説明されていますhttp://tomee.apache.org/tomee-and-eclipse.html

于 2012-12-09T10:08:50.597 に答える
1

[これをRajVの回答に対するコメントにしますが、そうするのに十分な評判はありません。]

プラットフォーム:Tomee 1.6.0 Webprofile、eclipse-jee-kepler-SR2-linux-gtk-x86_64およびOpenJDK 1.7.0_51

http://tomee.apache.org/tomee-and-eclipse.html (「ワークスペースメタデータのインストール」を含む)の手順を実行した後、「ユーザーに権限がないか、オブジェクトが見つかりません」という同じエラーが発生しました。私の反応は次のとおりでした:

$ ln -s [workspace_path]/Servers/tomee.xml \ [workspace_path]/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf/

このソリューションの利点として、EclipseのTomEEは、手動操作なしで常に現在のバージョンのWorkspace / Servers/tomee.xmlを使用しています。

于 2014-04-10T08:14:02.533 に答える
0

私にとって、より良い解決策は、tomee.xmlファイルをwptサーバーディレクトリ(/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf)に置き、そこでデータソースを定義することです。

于 2014-08-04T19:17:49.610 に答える