2016-10-27 13 views
5

ConvertJSONtoSQL işlemcisini kullanarak JSON dizilimimi SQL deyimine dönüştürmek istedim. örnek:Apache NiFi: JSONtoSQL'i Dönüştür (Oracle Database)

Veritabanı bağlantısı url: jdbc: mysql: JSON dizesi - - oracle db

{"cpuwait":"0.0","servernamee":"mywindows","cpusys":"5.3","cpuidle":"77.6","datee":"29-SEP-2016","timee":"00:01:33","cpucpuno":"CPU01","cpuuser":"17.1"} 

Tablo yapısı

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 
); 
Yapılandırma MySQL Veritabanı için kullanılan // localhost: 3306/testnifi

Veritabanı Sürücüsü classname: com.mysql.jdbc.Driver

(DBCP bağlantı havuzu) JDBC url, kullanıcı adı ve parola kullanarak MySQL'e başarıyla bağlandım. ConvertJSONtoSQL işlemci başarıyla çalıştı ve çıktı olarak geçerli sql insert ifadesi alıyorum. Ama Oracle Veritabanı ben

HATA [Zamanlayıcı Dayalı Süreç Konu-6] oanpstandard.ConvertJSONToSQL java.sql.SQLException alıyorum aynı çalıştığı sırada: Akış zaten kapatılmış

Oracle'ın db bağlantısı için My yapılandırma:

ConvertJSONtoSQL processor config

DBCP config

Bu hatayı google'da aradım ancak veritabanı veritabanlarında Long Datatypes kullanıldığında bu hatanın oluşacağını gördüm ancak bunları kullanmıyorum. ConvertJSONtoSQL işlemcisinin (kod yığınını takip eden) kaynak kodunu inceledim ve herhangi bir hata almadığım bir yerde tutulmayı denedim, veritabanına bağlanıp sorgulama yapıyorum.

Yapılandırmamda herhangi bir hata var mı?

Nifi sürümü - java8

Oracle DB sürümü - - Oracle Database 11g Express Edition

Komple Yığın izleme 0.7.0/1,0

java versiyonunu (i hem de aynı hatayı alıyorum) :

2016-10-19 07: 10: 06.557 HATA [Zamanlayıcı Dayalı işlem Konu-6] oanpstandard.ConvertJSONToSQL java.sql.SQLException: Akış önce olmuştur cl oracle.jdbc.driver.LongAccessor.getBytesInternal (LongAccessor.java:156) adresinden , oracle.jdbc.driver.LongAccessor.getBytes (LongAccessor.java:126) adresinden [ojdbc6.jar: 11.2.0.1.0] oracle.jdbc.driver.LongAccessor.getString adresinden (LongAccessor.java:201) ~ [ojdbc6.jar: 11.2.0.1.0] oracle.jdbc.driver.T4CLongAccessor adresinden .getString (T4CLongAccessor.java:427) ~ [ojdbc6.jar: 11.2.0.1.0] oracle.jdbc.driver.OracleResultSetImpl.getString adresindeki (OracleResultSetImpl.java:1251) ~ [ojdbc6.jar: 11.2.0.1.0 ] oracle.jdbc.driver.OracleResultSet.getString (OracleResultSet.java:494) ~ [ojdbc6.jar: 11.2.0.1.0] org.apache.commons.dbcp.DelegatingResultSet.GetString (DelegatingResultSet.java:263) ~ org.apache.nifi.processors.standard.ConvertJSONToSQL $ ColumnDescription.from (ConvertJSONToSQL.java:677) ~ [kurtarmak standardı-0.7.0-işlemciler de [na na]. kavanoz: org.apache.nifi.processors.standard.ConvertJSONToSQL $ TableSchema.from (ConvertJSONToSQL.java:621) de 0.7.0] ~ [kurtarmak standardı-işlemciler-0.7.0.jar: 0.7.0] de org.apache.nifi.processors.standard.ConvertJSONToSQL.onTrigger (ConvertJSONToSQL.java:267) ~ [tasarruf standardı-işlemciler-0.7.0.jar: 0.7.0] org.apache.nifi.processor.AbstractProcessor de . onTrigger (AbstractProcessor.java:27) [API-0.7.0.jar kaydedin: 0.7.0] org.apache.nifi.controller.StandardProcessorNode.onTrigger (StandardProcessorNode.java:1054) de [save-Çerçeve-core 0.7.0.jar: org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call en 0.7.0] (ContinuallyRunP rocessorTask.java:136) [tasarruf-Çerçeve çekirdekli 0.7.0.jar: 0.7.0] org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call (ContinuallyRunProcessorTask.java:47 de ) [tasarruf-Karkas çekirdek-0.7.0.jar: 0.7.0] org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent $ 1.run (TimerDrivenSchedulingAgent.java:127) en [tasarruf-Çerçeve çekirdekli 0.7.0.jar: 0.7. 0] java.util.concurrent.Executors $ RunnableAdapter.call (Bilinmeyen kaynak) [ de java.util.concurrent.FutureTask.runAndReset (Bilinmeyen Kaynak) [na 1.7.0_40] 'de 1.7.0_40] na java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301 (Bilinmeyen Kaynak) [na 1.7.0_40] Java de java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (Bilinmeyen Kaynak) [na 1.7.0_40] adresinden .util.concurrent.ThreadPoolExecuto r.runWorker (Bilinmeyen Kaynak) java.util.concurrent.ThreadPoolExecutor $ Worker.run (Bilinmeyen Kaynak) java.lang.Thread.run de [1.7.0_40 na] (Bilinmeyen Kaynak de [1.7.0_40 na]) [1.7.0_40

+0

Sonra işlemci iş akışı –

cevap