2016-03-30 40 views
1

Bunu yapan bir Talend işi oluşturdum: Tablodan A okuma kaydı x Tablo A'da x + 1.000.000 yazınız. Bu harika çalışıyor, ancak sonra başarısız oluyor. 310 kayıt. Açıkça kayıtlardaki değerlerle ilgisi yoktur. X> = 1 ve X < = 300 ile giriş sorgusunu değiştirirseniz ve hatasız bir şekilde hatasız çalıştıktan sonra X> = 301 ve X < = 600 değerini değiştirirseniz, herhangi bir hata olmadan tekrar başarılı bir şekilde çalışır. Ancak X> = 1 ve X < = 600 ise, 310 kayıttan sonra durur. Binlerce kayıt yapmam gerekiyor, bu yüzden her 310 kayıtta sorgumun değiştirilmesi bir seçenek değil.EOFException java.io.EOFException, x Kayıtlarından sonra Talend

"İşlemden sonra", 10.000 ile 100, 10 bile 1 arasında değiştirmeyi denedim, ancak bu yardımcı olmuyor.

Ne yapabilirim?

java.io.EOFExceptionException in component tJDBCOutput_1 
java.sql.SQLException: java.io.EOFException 
    at com.kewill.jdbc.JdbcUnimsConnection.sendMessage(JdbcUnimsConnection.java:182) 
    at com.kewill.jdbc.JdbcUnimsConnection.commit(JdbcUnimsConnection.java:255) 
    at local_project.tsdsmd_0_1.tsdsmd.tJDBCInput_1Process(tsdsmd.java:12790) 
    at local_project.tsdsmd_0_1.tsdsmd.runJobInTOS(tsdsmd.java:13237) 
    at local_project.tsdsmd_0_1.tsdsmd.main(tsdsmd.java:13036) 
Caused by: java.io.EOFException 
    at java.io.DataInputStream.readFully(Unknown Source) 
    at com.kewill.jdbc.JdbcUnimsSocket.readFully(JdbcUnimsSocket.java:170) 
    at com.kewill.jdbc.JdbcUnimsMessage.init(JdbcUnimsMessage.java:114) 
    at com.kewill.jdbc.JdbcUnimsMessage.<init>(JdbcUnimsMessage.java:96) 
    at com.kewill.jdbc.JdbcUnimsSocket.readMessage(JdbcUnimsSocket.java:122) 
    at com.kewill.jdbc.JdbcUnimsSocket.sendMessage(JdbcUnimsSocket.java:106) 
    at com.kewill.jdbc.JdbcUnimsSocket.sendMessage(JdbcUnimsSocket.java:89) 
    at com.kewill.jdbc.JdbcUnimsConnection.sendMessage(JdbcUnimsConnection.java:166) 
    ... 4 more 

cevap

0

Daha fazla soru sorarak başlayalım.

Sorular. Talend işine ne kadar hafıza ayrıldı? Log4j'de hata ayıklama düzeyini açtınız mı? JDBC sürücüsünün en son sürümüne sahip misiniz? Bir SQL aracında aynı sürücüyü ve sorguyu kullanabilir misiniz, 10 sonuç, 300 sonuç, tüm sonuçlar için ne kadar sürer? Sürücü zaman aşımı değeri için bir ayar var mı?

+0

Bir çok soru :) Bellek Xms: 256, Xmx1024 Log4j'de hata ayıklama düzeyi günlüğü? Talend'de bu seçeneğe sahip değilim, sanırım. Başka bir SQL aracım yüklü değil. Hangisini tercih edersin? 300 sonuç 3 saniye içinde. Bildiğim kadarıyla, sürücüde zaman aşımı değeri ayarı yok. – PSVSupporter

+1

JDBC sürücüsünde başlangıç ​​istisnası var gibi görünüyor. Yani ... SQL sorguda "Sorguyu Yürüt" (http://executequery.org/index.php) gibi bir JD Tool sürücüsünün en güncel sürümünü kullanarak aynı sorguyu denemek çok önemli. veri kaynağınız. Sorgu JDBC sürücünüzü kullanarak bir SQL Tool'da çalışmıyorsa, sorun Talend değil. – dbh

İlgili konular