Bonjour.
J'essaye d'ecrire un script qui permette de generer un fichier ODB (base de données d'Open Office). Pour ceux qui n'ont pas l'habitude, ce type de fichier est en fait une archive comme tous les ODF.
Dans le cas d'un ODB, l'archive contient un dossier database dans lequel se trouve les fichiers concernant la base de données comme son nom l'indique. Ce dossier contient 4 fichiers :
- un fichier properties qui contient les données de configuration de la base
- un fichier log
- un fichier backup
- un fichier data
Ces 4 fichiers sont generés par une base de données HSQLDB integrée a OpenOffice. Mon problème reside dans la structure du fichier data. Pour chaque ligne d'enregistrement, il y a un bloc d'informations qui est rajouté juste avant les valeurs. Cependant la construction de ce bloc d'informations ne me semble pas evidente, puisqu'elle varie selon que les lignes soient paires ou impaires, et ne semble pas forcement dependre des valeurs contenues dans l'enregistrement. Pour que ce soit plus clair voici quelques extraits du fichier
Code :
- En-tete de ligne
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48
- 00 00 00 00 00 00 00 20 00 00 00 70 00 00 00 98
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48
- 00 00 00 00 00 00 00 48 00 00 00 e8 00 00 01 38
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e8
- 00 00 00 00 00 00 00 c0 00 00 01 10 00 00 00 98
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e8
- 00 00 00 00 00 00 00 98 00 00 01 d8 00 00 02 78
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 88
- 00 00 00 00 00 00 01 60 00 00 01 b0 00 00 01 d8
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 88
- 00 00 00 00 00 00 01 88 00 00 02 28 00 00 01 38
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 28
- 00 00 00 00 00 00 02 00 00 00 02 50 00 00 01 d8
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 28
- 00 00 00 00 00 00 01 38 00 00 03 b8 00 00 04 f8
|
Les informations rajoutées en debut d'enregistrement ne sont pas liées a l'enregistrement en lui-meme. Ce sont des données de verification apparement. Elles forment des liens entre les differentes lignes d'enregistrement (chaque ligne est divisée en 4 blocs de 4 caracteres ; A intervalle regulier, le 4e bloc renvoie a une autre ligne, paire pour une ligne impaire, et reciproquement)
J'ai beau avoir regardé sur le site OOo officiel et francais, et sur le site HSQLDB, je n'ai pas pu obtenir d'informations sur la construction de ce fichier.
Peut etre que certains auront deja vu ce type de strucutre dans d'autres formats de fichiers. Si c'est le cas ca m'interresserait.
Ajout :
J'ai regardé de plus pret les ligne paires et pour passer d'un couple de lignes paires a l'autre, c'est toujours le meme coefficient qui est utilisé a savoir +A0 (+160 en decimal). Reste a savoir a quoi cela peut correspondre
Message édité par Sn@kes le 15-01-2008 à 10:57:20