2009-10-14 2 views
0

Je peux créer une application Java JPA simple à partir de NetBeans à l'aide de la base de données Apache Derby. Mais lorsque je tente de faire la même chose avec SQL Server 2008, je continue à obtenir l'erreur suivante:Prise en charge de JPA pour SQL Server 2008 à l'aide de NetBeans 6.7.1

GRAVES: Classe d'application sample.DBTestApp n'a pas réussi à lancer javax.persistence.PersistenceException: Aucun fournisseur de persistance pour EntityManager nommé RS6910SQLEXPRESS: 3027 ; databaseName = TestPU: Les fournisseurs suivants: oracle.toplink.essentials.PersistenceProvider oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider Renvoyé null à createEntityManagerFactory.

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:154) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) 
    at sample.DBTestAppView.initComponents(DBTestAppView.java:285) 
    at sample.DBTestAppiew.<init>(DBTestAppiew.java:36) 
    at sample.DBTestApp.startup(DBTestApp.java:19) 

Appréciez votre aide en regardant ceci.

Répondre

2

Le problème semble être avec le nom PersistenceUnit généré pour la base de données SQL Server avec un nom d'instance. Le nom généré était faux car il y avait des antislashs et après avoir modifié cela en un mot simple comme "TestPU" au lieu de celui généré "RS6910 \ SQLEXPRESS: 3027; databaseName = TestPU", alors tout a commencé à fonctionner.

Je pense que cela pourrait être un bug avec la génération de code NetBeans pour les bases de données SQL Server avec un nom d'instance.

Mais comme nous connaissons maintenant une solution de contournement, nous pouvons essayer de suivre cela. Renommez simplement le nom de l'unité de persistance générée dans tous vos fichiers et les choses devraient commencer à fonctionner.

Questions connexes