Giter Club home page Giter Club logo

h2dbooo's Introduction

H2dbOOo logo Documentation

Ce document en français.

The use of this software subjects you to our Terms Of Use.

version 1.1.1

Introduction:

H2dbOOo is part of a Suite of LibreOffice and/or OpenOffice extensions allowing to offer you innovative services in these office suites.

This extension allows you to use H2 Database in embedded mode, making the database portable (a single odb file).
It allows you to take advantage of the ACID properties of the underlying H2 Database database.

Being free software I encourage you:

  • To duplicate its source code.
  • To make changes, corrections, improvements.
  • To open issue if needed.

In short, to participate in the development of this extension.
Because it is together that we can make Free Software smarter.


Requirement:

The H2dbOOo extension uses the jdbcDriverOOo extension to work.
It must therefore meet the requirement of the jdbcDriverOOo extension.

Since version 1.1.0, only LibreOffice 24.2.x or higher is supported. If it is not possible for you to use such a version, use the previous version of H2dbOOo. But in this case, this extension cannot be installed with the HyperSQLOOo extension, see bug #156471. In addition, it will be difficult for you to migrate odb files created under lower versions of H2dbOOo. I recommend using LibreOffice 24.2.x minimum with H2dbOOo 1.1.0 or higher.

On Linux and macOS the Python packages used by the extension, if already installed, may come from the system and therefore may not be up to date.
To ensure that your Python packages are up to date it is recommended to use the System Info option in the extension Options accessible by:
Tools -> Options -> Base drivers -> Embedded SQLite Driver -> View log -> System Info
If outdated packages appear, you can update them with the command:
pip install --upgrade <package-name>


Installation:

It seems important that the file was not renamed when it was downloaded.
If necessary, rename it before installing it.

Restart LibreOffice after installation.
Be careful, restarting LibreOffice may not be enough.

  • On Windows to ensure that LibreOffice restarts correctly, use Windows Task Manager to verify that no LibreOffice services are visible after LibreOffice shuts down (and kill it if so).
  • Under Linux or macOS you can also ensure that LibreOffice restarts correctly, by launching it from a terminal with the command soffice and using the key combination Ctrl + C if after stopping LibreOffice, the terminal is not active (no command prompt).

Use:

How to create a new database:

In LibreOffice / OpenOffice go to File -> New -> Database...:

H2dbOOo screenshot 1

In step: Select database:

  • select: Create a new database
  • in: Emdedded database: choose: Embedded H2 Driver
  • click on button: Next

H2dbOOo screenshot 2

In step: Save and proceed:

  • adjust the parameters according to your needs...
  • click on button: Finish

H2dbOOo screenshot 3

Have fun...


How does it work:

H2dbOOo is an com.sun.star.sdbc.Driver UNO service written in Python.
It is an overlay to the jdbcDriverOOo extension allowing to store the H2 database in an odb file (which is, in fact, a compressed file).

Its operation is quite basic, namely:

  • When requesting a connection, several things are done:
  • When closing or renaming (Save As) the odb file, if the connection was successful, the DocumentHandler copies all files present in the subdirectory into the (new) database directory of the odb file (zip), then delete the subdirectory.

The main purpose of this mode of operation is to take advantage of the ACID characteristics of the underlying database in the event of an abnormal closure of LibreOffice. On the other hand, the function: file -> Save has no effect on the underlying database. Only closing the odb file or saving it under a different name (File -> Save As) will save the database in the odb file.


Has been tested with:

  • LibreOffice 24.2.1.2 - Ubuntu 22.04

I encourage you in case of problem 😕
to create an issue
I will try to solve it 😄


Historical:

What has been done for version 1.0.0:

  • Implementation of a new format in odb files allowing the name of the catalog of the underlying database to be taken into account.

What has been done for version 1.1.0:

  • This version is based on fix #154989 available since LibreOffice 24.2.x. It can therefore work with other extensions offering integrated database services.
  • Now H2dbOOo requires LibreOffice 24.2.x minimum and will load for the url: sdbc:embedded:h2.

What has been done for version 1.1.1:

  • Updated the Python packaging package to version 24.1.
  • Updated the Python setuptools package to version 72.1.0.
  • The extension will ask you to install the jdbcDriverOOo extension in versions 1.4.2 minimum.

What remains to be done for version 1.1.1:

  • Add new language for internationalization...

  • Anything welcome...

h2dbooo's People

Contributors

prrvchr avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.