外接数据库报错

外接MYSQL数据库时,提示导入数据失败,如图

image.png

提示信息:

com.fr.third.org.hibernate.exception.SQLGrammarException: could not execute statement 

 at com.fr.third.org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) 

 at com.fr.third.org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) 

 at com.fr.third.org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111) 

 at com.fr.third.org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97) 

 at com.fr.third.org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207) 

 at com.fr.third.org.hibernate.hql.internal.ast.exec.BasicExecutor.doExecute(BasicExecutor.java:91) 

 at com.fr.third.org.hibernate.hql.internal.ast.exec.BasicExecutor.execute(BasicExecutor.java:60) 

 at com.fr.third.org.hibernate.hql.internal.ast.exec.DeleteExecutor.execute(DeleteExecutor.java:111) 

 at com.fr.third.org.hibernate.hql.internal.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:429) 

 at com.fr.third.org.hibernate.engine.query.spi.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:374) 

 at com.fr.third.org.hibernate.internal.SessionImpl.executeUpdate(SessionImpl.java:1360) 

 at com.fr.third.org.hibernate.internal.QueryImpl.executeUpdate(QueryImpl.java:102) 

 at com.fr.decision.migration.manager.AbstractTransferManager.truncateTable(Unknown Source) 

 at com.fr.decision.migration.manager.AbstractTransferManager.truncateTables(Unknown Source) 

 at com.fr.decision.migration.manager.AbstractTransferManager.transfer(Unknown Source) 

 at com.fr.decision.migration.manager.AbstractTransferManager.startTransfer(Unknown Source) 

 at com.fr.decision.migration.MigrationContext$TransferManagerCollection.startTransfer(Unknown Source) 

 at com.fr.decision.migration.MigrationContext$1.run(Unknown Source) 

 at java.lang.Thread.run(Thread.java:748) 

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'finedb.qrtz_scheduler_state' doesn't exist 

 at sun.reflect.GeneratedConstructorAccessor172.newInstance(Unknown Source) 

 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 

 at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 

 at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 

 at com.mysql.jdbc.Util.getInstance(Util.java:387) 

 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:942) 

 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966) 

 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902) 

 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526) 

 at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673) 

 at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2549) 

 at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) 

 at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073) 

 at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009) 

 at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5098) 

 at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994) 

 at com.fr.third.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:252) 

 at com.fr.third.org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) 

 ... 14 more 


这是什么原因呢?


补充:数据库检查过是有权限的

image.png


现在的错误提示:

com.fr.third.org.hibernate.exception.SQLGrammarException: could not execute statement 

 at com.fr.third.org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) 

 at com.fr.third.org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) 

 at com.fr.third.org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111) 

 at com.fr.third.org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97) 

 at com.fr.third.org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207) 

 at com.fr.third.org.hibernate.hql.internal.ast.exec.BasicExecutor.doExecute(BasicExecutor.java:91) 

 at com.fr.third.org.hibernate.hql.internal.ast.exec.BasicExecutor.execute(BasicExecutor.java:60) 

 at com.fr.third.org.hibernate.hql.internal.ast.exec.DeleteExecutor.execute(DeleteExecutor.java:111) 

 at com.fr.third.org.hibernate.hql.internal.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:429) 

 at com.fr.third.org.hibernate.engine.query.spi.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:374) 

 at com.fr.third.org.hibernate.internal.SessionImpl.executeUpdate(SessionImpl.java:1360) 

 at com.fr.third.org.hibernate.internal.QueryImpl.executeUpdate(QueryImpl.java:102) 

 at com.fr.decision.migration.manager.AbstractTransferManager.truncateTable(Unknown Source) 

 at com.fr.decision.migration.manager.AbstractTransferManager.truncateTables(Unknown Source) 

 at com.fr.decision.migration.manager.AbstractTransferManager.transfer(Unknown Source) 

 at com.fr.decision.migration.manager.AbstractTransferManager.startTransfer(Unknown Source) 

 at com.fr.decision.migration.MigrationContext$TransferManagerCollection.startTransfer(Unknown Source) 

 at com.fr.decision.migration.MigrationContext$1.run(Unknown Source) 

 at java.lang.Thread.run(Thread.java:748) 

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'finedb.qrtz_blob_triggers' doesn't exist 

 at sun.reflect.GeneratedConstructorAccessor107.newInstance(Unknown Source) 

 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 

 at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 

 at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 

 at com.mysql.jdbc.Util.getInstance(Util.java:387) 

 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:942) 

 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966) 

 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902) 

 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526) 

 at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673) 

 at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2549) 

 at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) 

 at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073) 

 at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009) 

 at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5098) 

 at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994) 

 at com.fr.third.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:252) 

 at com.fr.third.org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) 

 ... 14 more 


我根据提示新建了所缺失的表,但又提示另一个表又不存在,手工新建表不是好办法。我看了一下MYSQL里的finedb数据库,只有10个表能传送过来,见下图

image.png

这到底是什么问题呢

FineReport lsq100post 发布于 2020-5-8 23:07 (编辑于 2020-5-12 21:07)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
axingLv6专家互助
发布于2020-5-11 10:08(编辑于 2020-5-12 09:46)

这个表不存在

image.png


-----------------------------


FineDB 表结构-https://help.finereport.com/doc-view-3151.html

image.png

  • lsq100post lsq100post(提问者) 我想新建这张表,但又不知道表的结构。内置数据库也没有这张表
    2020-05-11 21:37 
  • lsq100post lsq100post(提问者) 新建了这个表,又提示qrtz_job_details这个表没有建立,这个好像不是好办法
    2020-05-12 21:03 
  • axing axing 回复 lsq100post(提问者) 检查一下,文档4.3小节那一块的表哪些没有创建,都创建一遍
    2020-05-12 23:55 
最佳回答
0
飞段Lv6初级互助
发布于2020-5-9 08:18(编辑于 2020-5-9 08:20)

你这个应该是数据库的用户,权限不够吧,这个报错的意思不能执行sql语句

  • lsq100post lsq100post(提问者) MYSQL数据库,数据库用户是ROOT,这个不是最大权限了吗
    2020-05-09 13:31 
  • lsq100post lsq100post(提问者) 我检查过了,是有权限的,我在主楼截图补充了
    2020-05-09 23:28 
最佳回答
0
luojian0323Lv7资深互助
发布于2020-5-11 13:14

我之前也遇到这个问题,后来我先备份finedb里的数据表,然后删除finedb里的表.再连接finedb数据库.连接成功后,再把数据恢复过来.就不会报错了.

  • lsq100post lsq100post(提问者) 内置数据库有备份还原的吗,在哪里操作?
    2020-05-11 21:37 
  • luojian0323 luojian0323 回复 lsq100post(提问者) 新建一个数据库,把finedb里的所有表都拷贝过去,然后把finedb数据库里的表都删除掉
    2020-05-12 10:40 
  • lsq100post lsq100post(提问者) 回复 luojian0323 把finedb里的所有表都拷贝过去和把finedb里的表删除怎么操作?
    2020-05-12 20:39 
  • 4关注人数
  • 567浏览人数
  • 最后回答于:2020-5-12 21:07
    请选择关闭问题的原因
    确定 取消
    返回顶部