nifi oracle 到 mysql_Apache NiFi:转换JSONtoSQL(Oracle数据库)
我想通过使用ConvertJSONtoSQL处理器将我的JSON字符串转换为SQL语句 . 示例:JSON字符串 -{"cpuwait":"0.0","servernamee":"mywindows","cpusys":"5.3","cpuidle":"77.6","datee":"29-SEP-2016","timee":"00:01:33","cpucpuno":"CPU01","cpuuse
我想通过使用ConvertJSONtoSQL处理器将我的JSON字符串转换为SQL语句 . 示例:JSON字符串 -
{"cpuwait":"0.0","servernamee":"mywindows","cpusys":"5.3","cpuidle":"77.6","datee":"29-SEP-2016","timee":"00:01:33","cpucpuno":"CPU01","cpuuser":"17.1"}
oracle db中的表结构 -
CREATE TABLE cpu (
datee varchar2(15) DEFAULT NULL,
timee varchar2(10) DEFAULT NULL,
servernamee varchar2(20) DEFAULT NULL,
cpucpuno varchar2(4) DEFAULT NULL,
cpuuser varchar2(5) DEFAULT NULL,
cpusys varchar2(5) DEFAULT NULL,
cpuwait varchar2(5) DEFAULT NULL,
cpuidle varchar2(5) DEFAULT NULL
);
用于MySQL数据库的配置:
数据库连接url:jdbc:mysql:// localhost:3306 / testnifi
数据库驱动程序类名:com.mysql.jdbc.Driver
我使用(DBCP连接池)JDBC url,用户名和密码成功连接到MySQL . ConvertJSONtoSQL处理器在那里成功运行,我得到有效的sql insert语句作为输出 . 但是,当我尝试使用Oracle数据库时,我正在尝试
ERROR [定时器驱动的进程线程-6] o.a.n.p.standard.ConvertJSONToSQL java.sql.SQLException:Stream已经关闭
我对Oracle数据库连接的配置:


我搜索了谷歌中的错误但我发现在数据库表中使用长数据类型但我没有使用它时会发生此错误 . 我浏览了ConvertJSONtoSQL处理器的源代码(跟踪堆栈跟踪)并尝试在eclipse中实现相同的功能,我没有收到任何错误,我可以连接到数据库并进行查询 .
那我的配置有什么错误吗?
Nifi版本 - 0.7.0 / 1.0(我两个都得到相同的错误)
java版本 - java8
Oracle DB版本 - Oracle Database 11g Express Edition
完整堆栈跟踪:
2016-10-19 07:10:06,557 ERROR [计时器驱动的进程线程-6] oanpstandard.ConvertJSONToSQL java.sql.SQLException:流已经在oracle.jdbc.driver.LongAccessor.getBytesInternal(LongAccessor.java)关闭:oracle.jdbc.driver的oracle.jdbc.driver.LongAccessor.getBytes(LongAccessor.java:126)〜[ojdbc6.jar:11.2.0.1.0]的〜(156)〜[ojdbc6.jar:11.2.0.1.0] .LongAccessor.getString(LongAccessor.java:201)~ [ojdbc6.jar:11.2.0.1.0] at oracle.jdbc.driver.T4CLongAccessor.getString(T4CLongAccessor.java:427)〜[ojdbc6.jar:11.2.0.1 . 0] at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:1251)〜[ojdbc6.jar:11.2.0.1.0] at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:494)〜[ ogdbc6.jar:11.2.0.1.0] atg.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)〜[na:na] at org.apache.nifi.processors.standard.ConvertJSONToSQL $ ColumnDescription . 来自(ConvertJSONToSQL.java:677)〜[nifi-standard-processors-0.7.0.jar:0.7.0] org.apac在org.apache.nifi.processors.standors.ConvertJSONToSQL上的he.nifi.processors.standard.ConvertJSONToSQL $ TableSchema.from(ConvertJSONToSQL.java:621)~ [nifi-standard-processors-0.7.0.jar:0.7.0] oron.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27).onTrigger -0.7.0.jar:0.7.0] org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1054)[nifi-framework-core-0.7.0.jar:0.7.0] at org . apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)[nifi-framework-core-0.7.0.jar:0.7.0] atg.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call( ContinuallyRunProcessorTask.java:47)[nifi-framework-core-0.7.0.jar:0.7.0] org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent $ 1.run(TimerDrivenSchedulingAgent.java:127)[nifi-framework- core.0.7.0.jar:0.7.0] at java.util.concurrent.Executors $ RunnableAdapte r.call(未知来源)[na:1.7.0_40] at java.util.concurrent.FutureTask.runAndReset(Unknown Source)[na:1.7.0_40] at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301(Unknown来源)[na:1.7.0_40] at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(Unknown Source)[na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[na:1.7 .0_40] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[na:1.7.0_40] at java.lang.Thread.run(Unknown Source)[na:1.7.0_40
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)