PrestoDB-连接到Oracle

时间:2018-08-31 13:39:52

标签: java oracle jdbc presto

我正在处理的项目是将PrestoDB与Oracle和MongoDB结合使用。 使用Oracle中的PrestoDB连接,需要在Oracle中插入大量记录(约5000条)。

我不希望它提交每一行以具有更好的性能,但是如果我将autocommit设置为false,它将返回异常:

  

java.sql.SQLException:查询失败(#20180831_130756_00032_945ft):   目录oracle仅支持在以下位置使用自动提交进行写入   com.facebook.presto.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1803)     在   com.facebook.presto.jdbc.PrestoResultSet.getColumns(PrestoResultSet.java:1747)     在   com.facebook.presto.jdbc.PrestoResultSet。(PrestoResultSet.java:118)     在   com.facebook.presto.jdbc.PrestoStatement.internalExecute(PrestoStatement.java:246)     在   com.facebook.presto.jdbc.PrestoStatement.execute(PrestoStatement.java:225)     在   com.facebook.presto.jdbc.PrestoPreparedStatement.executeLargeUpdate(PrestoPreparedStatement.java:104)     在   com.facebook.presto.jdbc.PrestoPreparedStatement.executeUpdate(PrestoPreparedStatement.java:97)

     

原因:com.facebook.presto.spi.PrestoException:仅目录oracle   支持在以下位置使用自动提交进行写入   com.facebook.presto.transaction.TransactionManager $ TransactionMetadata.checkConnectorWrite(TransactionManager.java:446)     在   com.facebook.presto.transaction.TransactionManager.checkConnectorWrite(TransactionManager.java:222)     在   com.facebook.presto.transaction.TransactionManager.getCatalogMetadataForWrite(TransactionManager.java:200)     在   com.facebook.presto.metadata.MetadataManager.getCatalogMetadataForWrite(MetadataManager.java:957)     在   com.facebook.presto.metadata.MetadataManager.getInsertLayout(MetadataManager.java:574)     在   com.facebook.presto.sql.planner.LogicalPlanner.createInsertPlan(LogicalPlanner.java:290)     在   com.facebook.presto.sql.planner.LogicalPlanner.planStatementWithoutOutput(LogicalPlanner.java:184)     在   com.facebook.presto.sql.planner.LogicalPlanner.planStatement(LogicalPlanner.java:171)     在   com.facebook.presto.sql.planner.LogicalPlanner.plan(LogicalPlanner.java:144)     在   com.facebook.presto.sql.planner.LogicalPlanner.plan(LogicalPlanner.java:139)     在   com.facebook.presto.execution.SqlQueryExecution.doAnalyzeQuery(SqlQueryExecution.java:344)     在   com.facebook.presto.execution.SqlQueryExecution.analyzeQuery(SqlQueryExecution.java:329)     在   com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:285)     在   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)     在   java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)     在java.lang.Thread.run(Thread.java:748)

是否有可能(可能是自定义插件)来实现所需的部分,还是有人知道这是否是PrestoDB实现的选择?

有人遇到过类似的需求吗?

0 个答案:

没有答案