0

「サービス」netbeans タブからデータベースに接続することはできますが、アプリケーションの永続ユニットが機能していないようです...「もう少し待ってください。後で接続します。 ..」サイクル。

質問 1: なぜ機能しないのですか?

質問 2 (1 の理由がない場合): どうすれば簡単な回避策を作成できますか?


これが私の永続的なユニットステートメントです:

entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory(resourceMap.getString("entityManager.persistenceUnit")).createEntityManager();

resourceMap.getString("entityManager.persistenceUnit")永続化ユニットを定義するプロパティ フィールドにアクセスできるようにするだけです。

ここに私のpersistence.xmlがあります:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="analyses_2PU" transaction-type="RESOURCE_LOCAL">
    <provider>oracle.toplink.essentials.PersistenceProvider</provider>
    <class>analysesmanager.Produits</class>
    <class>analysesmanager.Lots</class>
    <class>analysesmanager.SpecProduits</class>
    <class>analysesmanager.Parametres</class>
    <class>analysesmanager.Clients</class>
    <class>analysesmanager.Resultats</class>
    <class>analysesmanager.Analyses</class>
    <properties>
      <property name="toplink.jdbc.user" value="XXXXX"/>
      <property name="toplink.jdbc.password" value="XXX"/>
      <property name="toplink.jdbc.url" value="jdbc:mysql://172.17.22.15:3306/soliance_analyses"/>
      <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
    </properties>
  </persistence-unit>
</persistence>

これは私の遠いmysqlサーバーでは機能しませんが、データベースのローカルコピーを使用してローカルサーバーで機能します...

唯一の違いは、これらの2行の間です...

<property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/soliance_analyses"/>

<property name="toplink.jdbc.url" value="jdbc:mysql://172.17.22.15:3306/soliance_analyses"/>

ちなみに、私のローカルバージョンをリモートサーバーで直接実行してもうまくいきます...ネットワーク(解決できない)、またはリモート接続に使用されるpersistence.xmlに問題があるようです。

4

1 に答える 1

0

小さな回避策:

プロジェクトのローカルバージョンをリモートサーバーに配置しました.batを介して、リモートサーバーでローカルに実行します。

ここにROFLMAO_it_works.batがあります

net use X: \\remote_server_ip\project_jar_path
X:
java -jar X:\project.jar

できます。私が最初に望んでいた方法ではありませんが、うまくいきます。

于 2011-04-01T12:35:03.380 に答える