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

Bases de données Delphi Discussion :

Interaction BDE/non-BDE (Charsets)


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Par défaut Interaction BDE/non-BDE (Charsets)
    Bonjour à tous,

    Je voudrais savoir, est-il possible (et si oui, comment) de lire sans le BDE des données écrites avec le BDE (et inversement) sans perdre les accents? Il est extrêmement pénible, sans une telle possibilité d'interaction, de faire évoluer nos anciens projets utilisant le BDE vers des technologies différentes (telles que FIBPlus, Java ou autres), ou même d'échanger d'aucune manière les données.

    En fait, ma situation présente est que j'ai une application qui renseigne une base Interbase 6.0 par le biais du BDE, et je viens de créer en Java un servlet XMLRPC pour recevoir des données de l'extérieur et les intégrer dans la base de données, pour être ensuite exploitées par l'application utilisant le BDE. Tout marche à merveille, sauf... les accents! Pas moyen d'écrire les accents avec Java (ou même directement d'ailleurs, avec IBConsole ou autre) de sorte à pouvoir les relire avec le BDE.

    Dans ma configuration BDE, j'utilise le Langdriver "Paradox 'Intl'". Savez-vous à quel character set standard cela correspond? Je sais convertir le charset en Java, donc en principe, je devrais pouvoir encoder mes données au bon format si j'arrivais à trouver le charset à utiliser pour que le BDE puisse le relire...

    Des idées?

    Merci d'avance!

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    Sinon, InterBase dispose d'un driver ODBC, pourquoi s'encombrer du BDE dans ce cas ?
    D'ailleurs, avec InterBase, le BDE est déconseillé, au profit des composants natif IBX InterBase Express, ou encore ADO, ...

    Enfin, les accents, en Paradox, c'est du ANSI (Windows-1252), étrange de spécifier pour IB un Driver Paradox ?
    Ton Java ne serait pas en UTF8 ou UniCode par Défaut ?
    Comme LangDriver, je te conseille plutôt le Latin-1 comme "Borland FRA Latin-1"

    Sinon, pense aussi à migrer un jour sur FireBird, qui la version libre et gratuite de IB, est qui surtout maintenue ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Sinon, InterBase dispose d'un driver ODBC, pourquoi s'encombrer du BDE dans ce cas ?
    D'ailleurs, avec InterBase, le BDE est déconseillé, au profit des composants natif IBX InterBase Express, ou encore ADO, ...

    Enfin, les accents, en Paradox, c'est du ANSI (Windows-1252), étrange de spécifier pour IB un Driver Paradox ?
    Ton Java ne serait pas en UTF8 ou UniCode par Défaut ?
    Comme LangDriver, je te conseille plutôt le Latin-1 comme "Borland FRA Latin-1"

    Sinon, pense aussi à migrer un jour sur FireBird, qui la version libre et gratuite de IB, est qui surtout maintenue ...

    Merci pour ta réponse!

    - Je sais bien que le BDE est loin d'être conseillé, mais comme indiqué dans mon message, il s'agit d'une application existante et non d'un nouveau développement.

    - Pas question de quitter le BDE dans l'avenir proche, vu l'énormité du coût que cela engendrerait pour un gain quasi-nul.

    - Je connais également Firebird, et je m'en sers dans un grand nombre d'autres projets. Mais là n'est pas du tout la question.

    - Il n'est pas question de changer le LangDriver BDE. Cette application comprend des données saisies (initialement sous dBase, puis maintenant dans Interbase) sur environ les 10 dernières années. Changer le LangDriver de quelque manière que ce soit ferait perdre les accents dans toutes les données existantes... Absolument hors de question.

    - Donc je réitère et je précise: ma question, c'est de savoir comment je peux accommoder mon application BDE existante, non la changer. Il faut que je puisse intégrer dans ma base de données des données venant de l'extérieur sans pour autant perdre les accents. Je cherche donc à trouver des correspondances, si c'est possible, entre les LangDriver BDE/Paradox et les charsets standards utilisables avec Java ou autres. Existe-t-il une table de correspondance quelque part? Quelqu'un d'autre a-t-il déjà confronté le même problème?

    Merci d'avance!

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    Tu utilise " Paradox 'Intl' " ou " Pdox ANSI Intl " ?
    Cela ce teste avec la possiblité d'écrire un caractère €
    Si c'est la première, c'est de l'ASCII, il me semble non, essaye de voir la fonction Translate du TDataSet ... ou CharToOem de l'API Windows
    Si c'est la seconde, ce qui ne doit pas être le cas, tu n'as normalement rien à faire pour que cela fonctionne)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Charset lors du passage de BDE en Unidac
    Par briaume dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/01/2015, 18h00
  2. Delphi6 & BDE + DBF "fonctionnalité non supportée"
    Par micoudic dans le forum Bases de données
    Réponses: 7
    Dernier message: 22/07/2011, 10h58
  3. Erreur BDE $251E en XP non administrateur
    Par bencot dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/04/2007, 13h54
  4. L'avenir du BDE et des SQL Links révélé ! <officiel>
    Par Merlin dans le forum Bases de données
    Réponses: 12
    Dernier message: 02/06/2006, 10h18
  5. Pb BDE suite a passage en Windows 2000 pro
    Par ARIF dans le forum Paradox
    Réponses: 4
    Dernier message: 18/11/2002, 11h39

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