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 :

Conversion de caractères


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Septembre 2005
    Messages : 202
    Par défaut Conversion de caractères
    Bonjour,

    J'ai le soucis suivant :

    Je reçois des données d'un AS400 -> fichier texte tout simple encodé en UTF8 sur système Linux.
    Un des champs contient cette valeur : "0000000092R"
    Sur l'AS400 la bonne valeur est "-9.29" mais celui-ci la convertie pour donner "0000000092R"
    Le champ de destination finale dans la table ou je souhaite importer cette valeur est de type NUMERIC donc forcément "0000000092R" ne rentre pas et provoque une erreur.
    Ma base est en UTF8.

    J'ai cru comprendre que l'AS400 converti de EBCDIC vers ASCII. Y a t-il un moyen de convertir cette valeur pour retrouver "-9.29" ?

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    AS 400 utilise une collation et un encodage EBCDIC (voir ceci http://fr.wikipedia.org/wiki/Extende...terchange_Code). Il faut que votre SGBDR supporte la conversion EBCDIC vers la collation cible de votre base. Malheureusement à ma connaissance il n'existe pas de collation EBCDIC pour PostGreSQL. Vous avez alors le choix :
    1) changer de SGBDR pour un supportant les collations EBCDIC (IBM DB2 ou SQL Server par exemple).
    2) rajouter une phase de conversion du jeu de caractères de vos fichiers.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    La plupart des moniteurs de transfert proposent cette fonctionnalité
    Il faut donc activer la conversion lors du transfert de l'AS400 vers le système linux

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Septembre 2005
    Messages : 202
    Par défaut
    Changer de SGBDR n'est pas du tout envisageable...
    Reste donc à convertir avant l'export. La personne qui s'occupe de cette tâche me dit que c'est possible quand on le fait manuellement depuis son poste avec une appli windows (je n'ai pas le nom) mais dès qu'il s'agit d'automatiser la tâche d'export, la conversion n'est plus possible (toujours d'après la personne en charge de l'AS400).
    Donc c'est mal barré pour la récupération de cette info dans un format lisible.

    Merci à vous pour les infos.

Discussions similaires

  1. conversion de caractéres
    Par longjohn dans le forum Général Python
    Réponses: 3
    Dernier message: 27/08/2005, 16h03
  2. [VB.NET] Conversion de caractères
    Par WriteLN dans le forum Windows Forms
    Réponses: 8
    Dernier message: 17/03/2005, 08h45
  3. [DOS] batch et conversion de caractères
    Par lujayne dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/12/2004, 16h05
  4. [DB2][Access]Conversion de caractères
    Par BAYRAL dans le forum DB2
    Réponses: 2
    Dernier message: 12/10/2004, 10h00
  5. Conversion et re-conversion des caractères reservé à MySQL
    Par Didier100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/06/2004, 14h23

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