Java使用ucanaccess连接Access数据库,报错:UCAExc:::4.0.0 user lacks privilege or object not found: XXXXXX
代码如下:package com.accord;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Testes {public static void main(String[] args...
·
代码如下:
package com.accord;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Testes {
public static void main(String[] args) throws Exception {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");// 这个驱动的地址不要改
// Connection
// con=DriverManager.getConnection("jdbc:ucanaccess://D:\\Database3.mdb","123456","123456");
//Connection con = DriverManager.getConnection("jdbc:ucanaccess://D:\\add.mdb","test0011","test0011");
Connection con = DriverManager.getConnection("jdbc:ucanaccess://D:\\test.mdb","test0011","test0011");
//Connection con = DriverManager.getConnection("jdbc:ucanaccess://src/config/system.mdb","test0011","test0011");
Statement stmt = con.createStatement();
// 查找数据
//ResultSet rs = stmt.executeQuery("select fip from t_sys_dj ");
//ResultSet rs = stmt.executeQuery("select distinct FGROUP from t_sys_dj ");
//ResultSet rs = stmt.executeQuery("select distinct username from test ");
//ResultSet rs = stmt.executeQuery("select DISTINCT FGROUP from T_SY_DJ ");
ResultSet rs = stmt.executeQuery("select DISTINCT FGROUP from T_SYS_DJ ");
while (rs.next()) {
System.out.println(rs.getString("FGROUP"));
}
// 添加数据
/*if (stmt.executeUpdate("insert into test(username) values('李四')") > 0) {
System.out.println("添加成功!!!");
} else {
System.out.println("添加失败!!!");
}*/
//修改
/*if (stmt.executeUpdate("update test set username = '李思思' where id = 3 ") > 0) {
System.out.println("修改成功!!!");
} else {
System.out.println("修改失败!!!");
}*/
//删除
/*if (stmt.executeUpdate("delete from test where id = 3 ") > 0) {
System.out.println("删除成功!!!");
} else {
System.out.println("删除失败!!!");
}*/
}
}
报错如下:
Exception in thread "main" net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.0 user lacks privilege or object not found: T_SYS_DJ
at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:210)
at com.accord.Testes.main(Testes.java:25)
Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: T_SYS_DJ
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.executeQuery(Unknown Source)
at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:208)
... 1 more
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: T_SYS_DJ
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.SchemaManager.getTable(Unknown Source)
at org.hsqldb.ParserDQL.readTableName(Unknown Source)
at org.hsqldb.ParserDQL.readTableOrSubquery(Unknown Source)
at org.hsqldb.ParserDQL.XreadTableReference(Unknown Source)
at org.hsqldb.ParserDQL.XreadFromClause(Unknown Source)
at org.hsqldb.ParserDQL.XreadTableExpression(Unknown Source)
at org.hsqldb.ParserDQL.XreadQuerySpecification(Unknown Source)
at org.hsqldb.ParserDQL.XreadSimpleTable(Unknown Source)
at org.hsqldb.ParserDQL.XreadQueryPrimary(Unknown Source)
at org.hsqldb.ParserDQL.XreadQueryTerm(Unknown Source)
at org.hsqldb.ParserDQL.XreadQueryExpressionBody(Unknown Source)
at org.hsqldb.ParserDQL.XreadQueryExpression(Unknown Source)
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 4 more
.mdb文件截图如下:

报错原因及解决方法:
最好代码中的表名和字段名的大小与.mdb中大小写一致!防止不必要的错误!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)