Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Is it possible to browse Berkeley Database?

Is it possible to browse Berkeley Database? 3 years 3 months ago #10890

  • AutoMate
  • AutoMate's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 159
  • Thank you received: 5
  • Karma: 1
Is it possible to browse a Proview 5.5 Berkeley Database using BDBVu or other Ubuntu compatible viewer? When opening a .dbs file, BDBVu returns Invalid argument, errno: 22.
The administrator has disabled public write access.

Is it possible to browse Berkeley Database? 3 years 3 months ago #10892

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3178
  • Thank you received: 502
  • Karma: 133
Hi Automate,

No, there is no way to browse the database. What you can do is to dump and reload the with reload.sh. You might get som error messages, and in severe cases the dump will terminate and you can draw some conclusions from where the dump file ends.

/Claes
The administrator has disabled public write access.
The following user(s) said Thank You: AutoMate

Is it possible to browse Berkeley Database? 3 years 3 months ago #10893

  • AutoMate
  • AutoMate's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 159
  • Thank you received: 5
  • Karma: 1
Claes,

Thank you for a quick response and your helpful suggestion. My question was not based on a corrupt database, but I will remember your tip when next encountered.

I am familiar with the reload.sh and upgrade.sh scripts and have studied them in depth with a goal of understanding every nuance. My actual question is how to copy a $PlantHier object and all objects under it from one project and embed the saved $PlantHier tree into a completely different project. Copy and Paste do not work across projects.

I am not trying to move or copy an entire project from one Workstation to another. The goal is to copy an object tree "snippet" from a working project to a new project. Or, think of it as a library of working circuits and code to copy to new projects, as needed. Many variations of wb dump and wb save commands have been tried with limited success. When custom class objects are involved, linking errors are often encountered. Maybe, a solution is to use shared volumes or something else? Is there a document I need to read again? Or, a study of wb load source code would be helpful?

Any suggestion on how to save and restore database segments is greatly appreciated.

Regards,
/Ron


PlantHier.png
The administrator has disabled public write access.

Is it possible to browse Berkeley Database? 3 years 3 months ago #10894

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3178
  • Thank you received: 502
  • Karma: 133
Ron,

First you have to load the custom classes in the target project, and this can be done with a WbEnvironment object and a ClassVolumeLoad object in the directory volume.

Then you open the configurator for the target volume and use File/Open/Dbs file to open the dbs file for the source volume. Now you should be able to use the ordinary copy/paste function. If some errors are detected you can use the command 'copy/ignore' that will ignore any errors. References to objects outside the copied tree will be reset by default. If you want to keep them, use 'copy/keepref'.

/Claes
The administrator has disabled public write access.
The following user(s) said Thank You: AutoMate

Is it possible to browse Berkeley Database? 3 years 3 months ago #10897

  • AutoMate
  • AutoMate's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 159
  • Thank you received: 5
  • Karma: 1
Hi Claes,

Again, thank you for your quick and informative response. I'm a little slow and ask for additional guidance. You stated:

First you have to load the custom classes in the target project, and this can be done with a WbEnvironment object and a ClassVolumeLoad object in the directory volume.

Very good information and looking forward to learning how to make this work, correctly. A test project was created with wbEnvironment and ClassVolumeLoad objects added to the best of my understanding while reading the class help information:

Proview_Question_smaller.jpg



An existing custom class object, des, from a different VolLss project is referenced with a WBEnvironment variable, as shown. A ClassVolumeLoad object is added as a child to the Workstation's NodeConfig object, as shown.

A very simple plc test program was created manually without references to any custom class objects. In fact, the DES folder of custom class objects does not appear within the PLC program configurator, as per usual when the custom class volume is configured directly within the project. The test PLC program builds fine.

When building the workstation node, an error appears: Volume not loaded: 0.0.2.1. This is the global volume ID of the custom des class volume, also shown.

Obviously, I do not have a clear understanding of the WBEnvironment or ClassVolumeLoad objects and how to properly use them. Can you identify my configuration error?

Kind Regards,
/Ron
Last Edit: 3 years 3 months ago by AutoMate. Reason: Picture did not attach. 1/2 size added
The administrator has disabled public write access.

Is it possible to browse Berkeley Database? 3 years 3 months ago #10898

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3178
  • Thank you received: 502
  • Karma: 133
Ron,

Place the ClassVolumeLoad object under the WbEnvironment object, not under the NodeConfig object.

You should be able to see and open the class volume if you activate File/Open Volume and there check Functions/Show all volumes. This will show all volumes loaded into the configurator.

In runtime the dbs-file should be present on $pwrp_load. It will be loaded automatically if you have any instance object of any class in the classvolume.

/Claes
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Time to create page: 8.934 seconds