我用数据写到oracle 数据库 报一下错误 麻烦老师看下吧是什么错误?
来源:11-5 -Storm整合JDBC编程开发
啊大bug
2020-08-12
14:47:51.578 [SLOT_1027] INFO o.a.s.d.s.Slot - STATE waiting-for-worker-start msInState: 15 topo:LocalWordCountJDBCStromTopology-1-1597214868 worker:4a48444c-4250-4074-89c5-1c98c8c3672b -> running msInState: 0 topo:LocalWordCountJDBCStromTopology-1-1597214868 worker:4a48444c-4250-4074-89c5-1c98c8c3672b
14:47:51.602 [Thread-37-JdbcInsertBolt-executor[3, 3]] INFO o.a.s.e.b.BoltExecutor - Prepared bolt JdbcInsertBolt:[3]
14:47:51.620 [Thread-37-JdbcInsertBolt-executor[3, 3]] ERROR o.a.s.e.e.ReportError - Error
java.lang.RuntimeException: Failed to execute insert query Insert into wc () values ( )
at org.apache.storm.jdbc.common.JdbcClient.executeInsertQuery(JdbcClient.java:81) ~[storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.jdbc.common.JdbcClient.insert(JdbcClient.java:45) ~[storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.jdbc.bolt.JdbcInsertBolt.process(JdbcInsertBolt.java:91) [storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.topology.base.BaseTickTupleAwareRichBolt.execute(BaseTickTupleAwareRichBolt.java:38) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor.tupleActionFn(BoltExecutor.java:234) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.Executor.accept(Executor.java:275) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:133) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.JCQueue.consume(JCQueue.java:110) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:171) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:158) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.Utils$1.run(Utils.java:388) [storm-client-2.0.0.jar:2.0.0]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: java.sql.BatchUpdateException: ORA-00928: 缺失 SELECT 关键字
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10296) ~[ojdbc14-11.2.0.2.0.jar:11.2.0.2.0]
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:216) ~[ojdbc14-11.2.0.2.0.jar:11.2.0.2.0]
at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:128) ~[HikariCP-2.4.3.jar:?]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java) ~[HikariCP-2.4.3.jar:?]
at org.apache.storm.jdbc.common.JdbcClient.executeInsertQuery(JdbcClient.java:69) ~[storm-jdbc-1.1.1.jar:1.1.1]
... 11 more
emit: orange14:47:52.567 [Thread-37-JdbcInsertBolt-executor[3, 3]] ERROR o.a.s.e.e.ReportError - Error
java.lang.RuntimeException: Failed to execute insert query Insert into wc () values ( )
at org.apache.storm.jdbc.common.JdbcClient.executeInsertQuery(JdbcClient.java:81) ~[storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.jdbc.common.JdbcClient.insert(JdbcClient.java:45) ~[storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.jdbc.bolt.JdbcInsertBolt.process(JdbcInsertBolt.java:91) [storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.topology.base.BaseTickTupleAwareRichBolt.execute(BaseTickTupleAwareRichBolt.java:38) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor.tupleActionFn(BoltExecutor.java:234) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.Executor.accept(Executor.java:275) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:133) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.JCQueue.consume(JCQueue.java:110) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:171) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:158) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.Utils$1.run(Utils.java:388) [storm-client-2.0.0.jar:2.0.0]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: java.sql.BatchUpdateException: ORA-00928: 缺失 SELECT 关键字
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10296) ~[ojdbc14-11.2.0.2.0.jar:11.2.0.2.0]
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:216) ~[ojdbc14-11.2.0.2.0.jar:11.2.0.2.0]
at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:128) ~[HikariCP-2.4.3.jar:?]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java) ~[HikariCP-2.4.3.jar:?]
at org.apache.storm.jdbc.common.JdbcClient.executeInsertQuery(JdbcClient.java:69) ~[storm-jdbc-1.1.1.jar:1.1.1]
... 11 more
emit: banana14:47:53.564 [Thread-37-JdbcInsertBolt-executor[3, 3]] ERROR o.a.s.e.e.ReportError - Error
java.lang.RuntimeException: Failed to execute insert query Insert into wc () values ( )
at org.apache.storm.jdbc.common.JdbcClient.executeInsertQuery(JdbcClient.java:81) ~[storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.jdbc.common.JdbcClient.insert(JdbcClient.java:45) ~[storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.jdbc.bolt.JdbcInsertBolt.process(JdbcInsertBolt.java:91) [storm-jdbc-1.1.1.jar:1.1.1]
at org.apache.storm.topology.base.BaseTickTupleAwareRichBolt.execute(BaseTickTupleAwareRichBolt.java:38) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor.tupleActionFn(BoltExecutor.java:234) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.Executor.accept(Executor.java:275) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:133) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.JCQueue.consume(JCQueue.java:110) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:171) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:158) [storm-client-2.0.0.jar:2.0.0]
at org.apache.storm.utils.Utils$1.run(Utils.java:388) [storm-client-2.0.0.jar:2.0.0]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
2回答
-
啊大bug
提问者
2020-08-12
老师是我写的
Map hikariConfigMap = Maps.newHashMap();
System.out.println("创建数据库连接...");
hikariConfigMap.put("dataSourceClassName", "oracle.jdbc.pool.OracleDataSource");
hikariConfigMap.put("dataSource.url", "jdbc:oracle:thin:@127.0.0.1:1521:orcl");
hikariConfigMap.put("dataSource.user", "scott");
hikariConfigMap.put("dataSource.password", "root");
ConnectionProvider connectionProvider = new HikariCPConnectionProvider(hikariConfigMap);
System.out.println("数据库连接成功!");
String tableName = "wc";
JdbcMapper simpleJdbcMapper = new SimpleJdbcMapper(tableName, connectionProvider);
JdbcInsertBolt userPersistenceBolt = new JdbcInsertBolt(connectionProvider, simpleJdbcMapper)
.withTableName(tableName)
.withQueryTimeoutSecs(30);
builder.setBolt("JdbcInsertBolt", userPersistenceBolt).shuffleGrouping("CountBolt");00 -
Michael_PK
2020-08-12
java.lang.RuntimeException: Failed to execute insert query Insert into wc () values ( )
你的sql语句是什么
022020-08-12
相似问题
回答 2
回答 1