我正在尝试使用NetBeans的内置数据库服务系统和UCanAccess JDBC驱动程序来连接到MS Access数据库。从服务面板拖放表格以将它们连接到Swing GUI中的JTables之后,一切似乎都可以正常工作,但是,当我尝试运行该程序时,出现以下错误:
线程“主”中的异常javax.persistence.PersistenceException:异常[EclipseLink-4002](Eclipse Persistence Services-2.5.2.v20140319-9ad6abd):org.eclipse.persistence.exceptions.DatabaseException内部异常:net.ucanaccess.jdbc。 UcanaccessSQLException:用户缺乏特权或未找到对象:EXPERIENCETBL错误代码:-5501调用:SELECT EMPLOYEEID,CORPORATEEXPERIENCE,OPERATIONALEXPERIENCE,PROJECTEXPERIENCE,R_DEXPERIENCE来自PUBLIC.INFORMATION_SCHEMA.EXPERIENCEIBLESS SELECTE, ,PROJECTEXPERIENCE,R_DEXPERIENCE,来自org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:378)上的org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:378)。在Classes.Main_Menu。(Main_Menu。)的Classs.Main_Menu.initComponents(Main_Menu.java:34)处的org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:469)处的executeReadQuery(QueryImpl.java:260) java.19:在Classes.Master.main(Master.java:21)处,由于:异常[EclipseLink-4002](Eclipse Persistence Services-2.5.2.v20140319-9ad6abd):org.eclipse.persistence.exceptions.DatabaseException内部异常:net.ucanaccess.jdbc.UcanaccessSQLException:用户缺乏特权或未找到对象:EXPERIENCETBL错误代码:-5501调用:SELECT EMPLOYEEID,CORPORATEEXPERIENCE,OPERATIONALEXPERIENCE,PROJECTEXPERIENCE,R_DEXPERIENCE来自PUBLIC.INFORMATION_SCH查询=“从公共部门选择员工,企业经验,操作技能,项目经验,R_DEXPERIENCE。位于org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)的org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:682)的INFORMATION_SCHEMA.EXPERIENCETBL“)。 org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2002)上的persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)在org.eclipse.persistence.sessions.server.ServerSession上。 org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)处的executeCall(ServerSession.java:570)org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)处的executeCall(ServerSession.java:570)在org.eclipse.persistence.internal.queries中。org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)上的DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)在org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable 2738),位于org.eclipse.persistence.queries的org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:495)的org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2691)位于org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)位于org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1127)的.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1168) org.eclipse。org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl。)上的persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:403)在org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1215)在org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl。的org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)处的java.2896)org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1786)处的org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804) org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)处的.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1751)... 4更多原因:net.ucanaccess。 jdbc.UcanaccessSQLException:用户缺少特权或找不到对象:net.ucanaccess.jdbc.UcanaccessConnection中的EXPERIENCETBL。在org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1505)处的prepareStatement(UcanaccessConnection.java:510)在org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1556)在org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1505)在org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:778)处在org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:619)... 24以上原因: java.sql.SQLSyntaxErrorException:用户缺乏特权或未找到对象:org.hsqldb.jdbc.JDBCUtil.sqlException(未知源)处的org.hsqldb.jdbc.JDBCUtil.sqlException(未知源)处的EXPERIENCETBL。 org.hsqldb.jdbc.JDBCConnection.prepareStatement(未知源)的net.ucanaccess中的JDBCPreparedStatement。(未知源)jdbc.UcanaccessConnection.prepareStatement(UcanaccessConnection.java:508)... 28个其他原因:org.hsqldb.HsqlException:用户缺少特权或找不到对象:位于org.hsqldb.error.Error.error的EXPERIENCETBL(未知源) org.hsqldb.SchemaManager.getTable(未知源)的org.hsqldb.error.Error.error(未知源)org.hsqldb.ParserDQL.readTableOrSubquery(未知源)的org.hsqldb.ParserDQL.readTableName(未知源) org.hsqldb.ParserDQL.XreadTableCreuse(未知源)org.hsqldb.ParserDQL.XreadTableExpression(未知源)org.hsqldb.ParserDQL.XreadTableExpression(未知源)org.hsqldb.ParserDQL.XreadQuerySpecification(未知源) org处的org.hsqldb.ParserDQL.XreadQueryPrimary(未知源)处的hsqldb.ParserDQL.XreadSimpleTable(未知源)org处的org.hsqldb.ParserDQL.XreadQueryTerm(未知源)处的hsqldb.ParserDQL.XreadSimpleTable(未知源)。org.hsqldb.ParserDQL.XreadQueryExpressionBody(未知源)org.hsqldb.ParserDQL.compileCursorSpecification(未知源)org.hsqldb.ParserDQL.XreadQueryExpressionBody(未知源)org.hsqldb.ParserDQL.XreadQueryExpressionBody(未知源) org.hsqldb.Session.compileStatement(未知源)的ParserCommand.compileStatement(未知源)org.hsqldb.Session.execute(未知源)的org.hsqldb.StatementManager.compile(未知源)...更多31在org.hsqldb.Session.execute(未知源)上编译(未知源)...还有31在org.hsqldb.Session.execute(未知源)上编译(未知源)...还有31
浏览完错误后,我认为这很可能是连接错误,但是在创建连接时未显示任何错误,并且在“服务”选项卡中所有表均正确显示:
有人知道我可能是什么问题吗?
编辑:将UCanAccess从2.0.9.5更新到3.0.0后,我仍然收到错误,但它略有不同
[EL Info]: 2015-08-03 13:19:07.037--ServerSession(193492784)--EclipseLink, version: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd
[EL Info]: connection: 2015-08-03 13:19:10.113--ServerSession(193492784)--file:/C:/Users/kyle/OneDrive.old/Documents/IT_PAT/IT_PAT_Program/build/classes/_C:\Users\kyle\OneDrive.old\Documents\IT_PAT\IT_PAT_Program\IT_Pat_Database.mdb;showschema=true;PU login successful
[EL Warning]: 2015-08-03 13:19:10.327--UnitOfWork(2027363825)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.0 user lacks privilege or object not found: R
Error Code: -5501
Call: SELECT EmployeeID, CorporateExperience, OperationalExperience, ProjectExperience, R&DExperience FROM PUBLIC.PUBLIC.ExperienceTbl
Query: ReadAllQuery(referenceClass=ExperienceTbl_1 sql="SELECT EmployeeID, CorporateExperience, OperationalExperience, ProjectExperience, R&DExperience FROM PUBLIC.PUBLIC.ExperienceTbl")
Exception in thread "main" javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.0 user lacks privilege or object not found: R
Error Code: -5501
Call: SELECT EmployeeID, CorporateExperience, OperationalExperience, ProjectExperience, R&DExperience FROM PUBLIC.PUBLIC.ExperienceTbl
Query: ReadAllQuery(referenceClass=ExperienceTbl_1 sql="SELECT EmployeeID, CorporateExperience, OperationalExperience, ProjectExperience, R&DExperience FROM PUBLIC.PUBLIC.ExperienceTbl")
at org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:378)
at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:260)
at org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:469)
at Classes.Main_Menu.initComponents(Main_Menu.java:34)
at Classes.Main_Menu.<init>(Main_Menu.java:19)
at Classes.Master.main(Master.java:21)
Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.0 user lacks privilege or object not found: R
Error Code: -5501
Call: SELECT EmployeeID, CorporateExperience, OperationalExperience, ProjectExperience, R&DExperience FROM PUBLIC.PUBLIC.ExperienceTbl
Query: ReadAllQuery(referenceClass=ExperienceTbl_1 sql="SELECT EmployeeID, CorporateExperience, OperationalExperience, ProjectExperience, R&DExperience FROM PUBLIC.PUBLIC.ExperienceTbl")
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:682)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)
at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2002)
at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2738)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2691)
at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:495)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1168)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1127)
at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:403)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1215)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1786)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1751)
at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)
... 4 more
Caused by: net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.0 user lacks privilege or object not found: R
at net.ucanaccess.jdbc.UcanaccessConnection.prepareStatement(UcanaccessConnection.java:509)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1556)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1505)
at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:778)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:619)
... 24 more
Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: R
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
at net.ucanaccess.jdbc.UcanaccessConnection.prepareStatement(UcanaccessConnection.java:505)
... 28 more
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: R
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source)
at org.hsqldb.QueryExpression.resolve(Unknown Source)
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
at org.hsqldb.Session.compileStatement(Unknown Source)
at org.hsqldb.StatementManager.compile(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 31 more
Java Result: 1
再次感谢您提供的任何帮助。
通过从公共架构而不是从INFORMATION_SCHEMA拖放,可以解决此问题。这是由于3.0.0中已解决的数据库元数据错误所致。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句