2016-08-30 13 views
0

ブーミを使用してDBとMS Access DBの統合を行っています。 uCanAccessをJDBCとして使用しているため、MS Access DBを読み書きできます。ブーミタイマーのuCanAccessエラーが既にキャンセルされました

ただし、最初のクエリで49行以上が返された場合は、ブーミとuCanAccessから次のエラーが発生します。私は一度に10のドキュメントだけを処理するためにフロー制御を使ってみましたが、うまくいかなかった。同じエラー。 バッチ数を変更しようとしました。何もない。

Test execution of RYN-EMPDATA-BadgeDB completed with errors. Embedded message: Timer already cancelled.

Error Screen Shot

uCanAccess site バージョン3.0.6

推奨JackcessとHSQLDBのバージョンと、挿入操作は成功しますが、更新操作はしないでください。アクセス・ファイルからインポートされた動的更新DBプロファイルを使用しています。

いくつかの新しい情報。 障害が特定のレコードにあることが分かります。私はそれが渡されるNULL値文句だと思うが、私はここで

は、Javaエラーの上の部分です、100%にすることはできません。大規模な問題の原因をテストした後

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.6 null 
    at net.ucanaccess.jdbc.UcanaccessConnection.commit(UcanaccessConnection.java:212) 
    at com.boomi.connector.database.executor.SQLWriteExecutor.checkCommit(SQLWriteExecutor.java:44) 
    at com.boomi.connector.database.executor.SQLWriteExecutor.execute(SQLWriteExecutor.java:65) 
    at com.boomi.connector.database.DatabaseSend.executeData(DatabaseSend.java:192) 
    at com.boomi.connector.database.DatabaseSend.executeStatement(DatabaseSend.java:144) 
    at com.boomi.connector.database.DatabaseSend.executeDocument(DatabaseSend.java:121) 
    at com.boomi.connector.database.DatabaseSend.handle(DatabaseSend.java:297) 
    at com.boomi.connector.database.DatabaseSend.send(DatabaseSend.java:72) 
    at com.boomi.connector.custom.CustomSendConnectorAction.invoke(CustomSendConnectorAction.java:60) 
    at com.boomi.connector.base.BaseConnectorAction.invokeBase(BaseConnectorAction.java:295) 
    at com.boomi.connector.base.BaseConnectorAction.invoke(BaseConnectorAction.java:234) 
    at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.boomi.util.ClassUtil$InvokerWithClassLoader.invoke(ClassUtil.java:360) 
    at com.sun.proxy.$Proxy30.invoke(Unknown Source) 
    at com.boomi.process.shape.ConnectorShapeHandler.execute(ConnectorShapeHandler.java:152) 
    at com.boomi.process.shape.ConnectorShape.execute(ConnectorShape.java:143) 
    at com.boomi.process.graph.ProcessShape.executeShape(ProcessShape.java:550) 
    at com.boomi.process.graph.ProcessGraph.executeShape(ProcessGraph.java:488) 
    at com.boomi.process.graph.ProcessGraph.executeNextShapes(ProcessGraph.java:572) 
    at com.boomi.process.graph.ProcessGraph.executeShape(ProcessGraph.java:509) 
    at com.boomi.process.graph.ProcessGraph.executeNextShapes(ProcessGraph.java:572) 
    at com.boomi.process.graph.ProcessGraph.executeShape(ProcessGraph.java:509) 
    at com.boomi.process.graph.ProcessGraph.executeNextShapes(ProcessGraph.java:572) 
    at com.boomi.process.graph.ProcessGraph.execute(ProcessGraph.java:307) 
    at com.boomi.process.ProcessExecution.call(ProcessExecution.java:783) 
    at com.boomi.execution.ExecutionTask.call(ExecutionTask.java:920) 
    at com.boomi.execution.ExecutionTask.call(ExecutionTask.java:63) 
    at com.boomi.util.concurrent.CancellableFutureTask.run(CancellableFutureTask.java:172) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.6 null 
    at net.ucanaccess.jdbc.UcanaccessConnection.flushIO(UcanaccessConnection.java:348) 
    at net.ucanaccess.jdbc.UcanaccessConnection.commit(UcanaccessConnection.java:205) 
    ... 32 more 
Caused by: java.lang.StackOverflowError 
    at java.nio.DirectByteBuffer.put(Unknown Source) 
    at java.nio.DirectByteBuffer.put(Unknown Source) 

9/6フィールドの1つにバイナリデータを含むフィールドに移動することと関係があります。そのフィールドは更新されませんが、何らかの理由でuCanAccessがバイナリデータ(プログラムによって保存された写真)を持つ行にヒットした場合、失敗します。ここで

がuCanAccessコンソール経由で同じレコードを更新しようとしているから出力された:

UCanAccess>update badgelisting set firstname="Test", lastname="stuff", active="false" where idnumber=58; 
java.lang.StackOverflowError 
     at java.nio.DirectByteBuffer.put(Unknown Source) 
     at java.nio.ByteBuffer.put(Unknown Source) 
     at java.nio.DirectByteBuffer.put(Unknown Source) 
     at java.nio.DirectByteBuffer.put(Unknown Source) 
     at sun.nio.ch.IOUtil.write(Unknown Source) 
     at sun.nio.ch.FileChannelImpl.writeInternal(Unknown Source) 
     at sun.nio.ch.FileChannelImpl.write(Unknown Source) 
     at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.java:335) 
     at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:104) 
     at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:748) 
     at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.addOrRemovePageNumber(UsageMap.java:732) 
     at com.healthmarketscience.jackcess.impl.UsageMap.removePageNumber(UsageMap.java:322) 
     at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.java:339) 
     at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:104) 
     at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:748) 
     at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.addOrRemovePageNumber(UsageMap.java:732) 
     at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.ja 
--- 
A lot of this repeated a lot... 
--- 
va:339) 
     at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:104) 
UCanAccess>UCAExc:::3.0.6 null 
+0

代わりにStackOverflowErrorのように見えます。 UCanAccessコンソール(UCanAccessの配布)で同じ更新操作を行い、何が起こったのかをお知らせください(ここで出力をコピーしてください)。 – jamadei

+0

追加のテスト情報を用意しました。いずれかの列にバイナリデータがあるフィールドでは失敗します。ソフトウェアの画像を保持するPhotoカラムがあります。行にバイナリデータがある場合、そのフィールドには失敗します。たとえそのフィールドを更新していないとしても。 (私はコンソールを通してアップデートを行う方法も知らないので、私はあなたに何が得られるかを学ぶ必要があります) – Fritz

+0

* "コンソールからのアップデート方法" * - 単に 'console.bat 'または' console.sh'を実行します。それらは、UCanAccessバイナリディストリビューションのルートフォルダ([screenshot](http://i.stack.imgur.com/O96Bs.png))にあります。 –

答えて

0

これの多くは、タイミングに降りてきました。誰かが処理の直前にDBにいた場合、私はエラーを起こすでしょう。また、30項目の束に分割しなければならなかった。その後、約30%のDBを膨らませていたため、コンパイル/修復を実行するプロセスをセットアップする必要がありました。

ブーミについては、AccessDBへの書き込みは簡単な作業でなければなりません。これを行うためにUCanAccessに戻す必要はありません。

関連する問題