dawp
dawp

Reputation: 1

Netbeans persistence.xml - definition of path for persistence unit

I have an application that connects to a Derby database using the Derby Network Server that has been started as a standalone process outside of the Netbeans IDE.

When I run my application within the IDE (I don't start the Network Server from the Services tab as it is already running) the following is observed:-

  1. The application connects successfully to the server.

  2. Subsequent database accesses fail with error Internal Exception: java.sql.SQLNonTransientConnectionException: The connection was refused because the database MyAppDB was not found. Error Code: 40000

The persistence.xml in Netbeans shows the following for the JDBC connection:- jdbc:derby://localhost:1527//Users/David/Desktop/DerbyDatabases/MyAppDB [david on TEST]

However the xml source in Netbeans shows the following:- jdbc:derby://localhost:1527/MyAppDB

I can fix this problem by changing the persistence.xml source (in Netbeans) to show the following for JDBC connection:-

jdbc:derby://localhost:1527//Users/David/Desktop/DerbyDatabases/MyAppDB

Everything now works and the application runs fine :-)

HOWEVER!!!

As soon as I tell Netbeans to do a Clean and Build Project, it reverts the JDBC connection back to:-

jdbc:derby://localhost:1527/MyAppDB

On running the Application it can no longer access the Db with the same error as above.

Note that none of these problems occur if I run the Network Server from with Netbeans by opening the connection via the Services tab. This is no good for me as I want to deploy the application.

Do any of you guys know what is going on here? - I'm sure it's a simple mistake on my part.

Thank you.

Upvotes: 0

Views: 1104

Answers (1)

dawp
dawp

Reputation: 1

This problem was eventually solved by deleting the persistence unit (using NetBeans) and re-creating it with the same name but with the JDBC connection containing the correct path. Is this a NetBeans problem?

Upvotes: 0

Related Questions