Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 使用NetBeans 6.7.1对SQL Server 2008的JPA支持_Sql Server 2008_Jpa - Fatal编程技术网

Sql server 2008 使用NetBeans 6.7.1对SQL Server 2008的JPA支持

Sql server 2008 使用NetBeans 6.7.1对SQL Server 2008的JPA支持,sql-server-2008,jpa,Sql Server 2008,Jpa,我能够使用ApacheDerby数据库从NetBeans创建一个简单的JPA Java应用程序。但是,当我尝试对SQL Server 2008执行同样的操作时,我不断遇到以下错误: 严重:未能启动应用程序类sample.DBTestApp javax.persistence.PersistenceException:没有名为RS6910SQLEXPRESS:3027的EntityManager的持久性提供程序;databaseName=TestPU:以下提供程序: oracle.toplink.

我能够使用ApacheDerby数据库从NetBeans创建一个简单的JPA Java应用程序。但是,当我尝试对SQL Server 2008执行同样的操作时,我不断遇到以下错误:

严重:未能启动应用程序类sample.DBTestApp javax.persistence.PersistenceException:没有名为RS6910SQLEXPRESS:3027的EntityManager的持久性提供程序;databaseName=TestPU:以下提供程序: oracle.toplink.essentials.PersistenceProvider oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider 向createEntityManagerFactory返回null

    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)
位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:154)
位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:83)
位于sample.DBTestAppView.initComponents(DBTestAppView.java:285)
位于sample.DBTestAppiew(DBTestAppiew.java:36)
在sample.DBTestApp.startup(DBTestApp.java:19)上

感谢您的帮助。

问题似乎在于为具有实例名称的SQL Server数据库生成的PersistenceUnit名称。生成的名称是错误的,因为它有反斜杠,在将其修改为一个简单的单词(如“TestPU”)而不是生成的“RS6910\SQLEXPRESS:3027;databaseName=TestPU”后,一切都开始工作

我认为这可能是为具有实例名称的SQL Server数据库生成NetBeans代码的一个错误

但我们现在知道了一个解决方法,我们可以尝试遵循这个方法。只需在所有文件中重命名生成的持久化单元名称,就可以开始工作了