IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Importer une base de données "dbs" (Locate32)


Sujet :

PostgreSQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 132
    Points
    132
    Par défaut Importer une base de données "dbs" (Locate32)
    Bonsoir à tous,

    Je poste ici dans la section PostGreSQL, mais je ne suis pas sûr d'être au meilleur endroit ...

    Je fais un monitoring sur un serveur de fichiers, avec des statistiques sur les création de fichiers, les formats de fichiers, l'espace disque, ...
    J'avais initialement écrit un script batch pour récupérer l'ensemble des fichiers, leurs extensions, chemins, date de création/modification, ...
    Pour scanner près d'un To de données, il avait mis près d'une semaine...

    J'ai découvert cette semaine Locate32 (https://sourceforge.net/projects/locate32/), et la création de son index n'a pris que quelques minutes !

    La base de données créée par Locate32 est dans un format DBS, documenté à cette adresse : https://sourceforge.net/p/locate32/c...BReference.txt

    Comme je travaille beaucoup avec PGSQL, j'aimerais importer cette base DBS dans une BD PostGreSQL.

    Pensez-vous que ce soit possible ?

    Quand j'ouvre le fichier DBS avec un éditeur type Notepad++, le contenu est majoritairement des caractères spéciaux : une histoire d'encodage ou de compilation ? Peut-être devrais-je poster dans la section liée au langage de ce programme, mais je ne sais même pas l'identifier

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 132
    Points
    132
    Par défaut
    J'ai eu quelques éléments de réponses sur ce format DBS sur ce fil de discussion :
    https://sourceforge.net/p/locate32/d...read/aa4e8259/

    Ce fichier DBS est donc au format binaire, et je ne crois pas qu'il sera simple de le convertir au format tabulaire...
    (mais si quelqu'un s'en sent capable, n'hésitez pas à me contacter ! )

    Je pense qu'il sera finalement plus simple d'écrire un script de listing plus performant que mon mauvais BATCH...

    De la même manière, si quelqu'un a des conseils, je suis preneur

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Il y a plusieurs moyens d'exporter une bddX dans une bddY. Le premier étant le dump SQL. Généralement, la bddX possède un outil de dump/export au format SQL standard qu'on peut alors importer dans la bddY.
    Un autre moyen est de sortir le contenu de chaque table en CSV. La bddY peut alors créer les tables analogues et ensuite importer le contenu des CSV (je l'ai d'ailleurs fait récemment pour transférer une bdd Postgres vers une autre équipe qui utilise MySQL (ils avaient aussi mon MCD) => pour eux ça ne leur a posé aucun problème.

    Une autre méthode est que puisque tu possèdes les données originelles tu peux alors directement les intégrer dans Postgres (après-tout, tu as encore les fichiers que tu avais scannés donc tu peux les scanner de nouveau).

    Mais sinon l'idée de récupérer et traiter directement le contenu de la bddX c'est rarement une bonne idée.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 132
    Points
    132
    Par défaut
    Merci Sve@r de t'être penché sur mon problème,
    Généralement, la bddX possède un outil de dump/export au format SQL standard qu'on peut alors importer dans la bddY.
    Non, ce n'est pas le cas ici.

    Un autre moyen est de sortir le contenu de chaque table en CSV
    Malheureusement, nous n'avons pas accès aux tables de cette base de données. Le logiciel ne donne accès qu'au formulaire de recherche dans sa base.

    Une autre méthode est que puisque tu possèdes les données originelles tu peux alors directement les intégrer dans Postgres
    C'est finalement ce que j'ai fait.
    Mais le problème était bel est bien l'écriture de la procédure de scan, qui sur un serveur de plus d'un million de fichiers, devait être rapide.
    Mon précédent script BATCH avait mis 2 semaines à s’exécuter

    Mais grace à l'aide de Ericlm128 sur ce fil de discussion, nous avons écrit un script powershell qui a fait même le job en 20 min !

    Du coup, avec quelques scripts PSQL derrière, j'ai facilement pu importer mon scan dans PostGreSQL

    Même si la question initiale n'a pas été résolue (conversion du DBS vers PostGreSQL), je marque ce fil comme résolu car je suis parvenu à mes fins d'une autre manière.

    Merci au forum !

    A+

    Sylvain M.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/05/2007, 15h02
  2. Importer une base de données de 21Mo
    Par prgasp77 dans le forum Outils
    Réponses: 12
    Dernier message: 17/01/2007, 22h05
  3. [Interbase]Importer une base de données MySQL
    Par gege2061 dans le forum Bases de données
    Réponses: 9
    Dernier message: 18/08/2006, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo