Customer Portal

DBF metadata + DBFAnalyzer

Comments 7

  • Avatar
    dpavlis
    0
    Comment actions Permalink
    I have attached a sample Clover project which reads two different DBF files - just for your reference.

    The metadata extraction wizard in the designer should work - especially if you say that it correctly shows preview of the data.

    When you manually create the metadata you need to provide correct lengths of individual fields in bytes (attribute size) and also put 1 byte long field
    as a first field to cater for record deletion flag.

    Can you summarize your use-case and send it together with a sample DBF file you are trying to read to support@cloveretl.com so we can analyze where the problem is ?
    Also, if possible, in the designer, open "Error Log" view (menu "Window->Show View->Other->General/ErrorLog") and look for any error there.
  • Avatar
    ranger
    0
    Comment actions Permalink
    Your project works fine, thank you.

    It looks like there is some problem with my DBF files. I am not able to extract metadata from them in Clover. When I press "Next" button in metadata wizards, there is an exception in error log.


    Message : "Unhandled event loop exception".

    com.cloveretl.commons.AssertException: Unknown page follows
    at com.cloveretl.commons.Assert.fail(Assert.java:77)
    at com.cloveretl.gui.wizard.metadata.dbf.A.getNextPage(Unknown Source)
    at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:887)
    at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:426)
    at com.cloveretl.gui.wizard.x.buttonPressed(Unknown Source)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3783)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1383)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1195)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3629)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at com.cloveretl.gui.actions.AddMetadataAction.openWizardDialog(Unknown Source)
    at com.cloveretl.gui.actions.AddMetadataAction.run(Unknown Source)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3783)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1383)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1195)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3629)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1408)


    Unfortunetly i can't provide DBF file, because it contains sensitive data.
    I have written utility that creates metadata for me. After importing metadata i am able to read my DBF files.
  • Avatar
    dpavlis
    0
    Comment actions Permalink
    Glad it works for you - at least somehow.

    We will check what can be causing the error, however without the test data it will be difficult (just guessing).

    What system is producing your DBF files (FoxPro/FoxBase, etc. ; which version) ? If possible, could you try to create/get one DBF with some dummy data ?

    Thanks.
  • Avatar
    jraszyk
    0
    Comment actions Permalink
    Also, can you see any other exceptions in the log, some that might have occurred before the one you pasted?

    Thank you for the feedback.
  • Avatar
    ranger
    0
    Comment actions Permalink
    hallo,
    i was very busy, so i could not post answer sooner...

    Exception i posted is only exception in log.
    Customer agreed to use his file for debug purposes, so i will send to mr. dpavlis via pm.

    As of origin of the file, i am not sure about application. I know that is some version of Fox database. When i try to extract metadata, Clover says it is FoxBase+. I don't know for sure.
  • Avatar
    dpavlis
    0
    Comment actions Permalink
    Hi,

    We got your file and started analyzing the issue. It looks like the field names use accented characters - which might be causing the problem.

    PS: the post with the DBF file was deleted - as per your request.
  • Avatar
    mkrivanek
    0
    Comment actions Permalink
    Hi,

    The field descriptors in the header of the file contain invalid characters. In the next version of CloverETL Designer, field names will be truncated after the first occurrence of 0x00 byte, which should fix the problem.

Please sign in to leave a comment.