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

4D Discussion :

Erreur 4D ODBC Driver avec accents dans le nom d'une table


Sujet :

4D

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Erreur 4D ODBC Driver avec accents dans le nom d'une table
    Bonjour,

    Dans le cadre d'une migration, j'ai besoin d'accèder à une base 4D via le driver ODBC.
    J'ai une table comprenant des accents (Séries par exemple).
    En essayant via une connection ODBC l'exemple suivant:

    OdbcConnection SqlCnn = new OdbcConnection(strSQL);
    SqlCnn.Open();
    strSQL = "SELECT * FROM SÉRIES"; // ou Séries : cela ne fonctionne pas mieux
    OdbcDataAdapter Da = new OdbcDataAdapter(strSQL, SqlCnn);
    DataSet Ds = new DataSet();
    Ligne d'erreur --> Da.Fill(Ds);

    J'obtient une erreur ODBC (-2146232009).
    Par contre, avec une table ne comprenant pas d'accent, pas de pb.

    En utilisant Crystal Report, avec la même connection ODBC, les tables avec accents sont accessibles (nommées sous CR = SÉRIES).

    La version du driver ODBC, et de la base : 4D 2003, sur 4D Server MacOS.
    Le client est sur Windows.

    La question : il y-a-t'il un moyen d'accèder à ces tables ?

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    359
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 359
    Points : 613
    Points
    613
    Par défaut
    Avoir des noms de tables et de champs 4D sans accent ni espace est une des conditions à l'utilisation du driver ODBC.
    FAQ : Driver ODBC, points à respecter

    Une autre façon de communiquer avec 4D et de récupérer des données est de créer un serveur de Web Services 4D. Mais il faut avoir accès au mode structure de la base pour pouvoir ajouter des méthodes, etc...

    Tu n'as pas la main du tout sur cette base 4D ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut PB à moitié résolu....
    En fait, j'ai contourné le Pb en appliquant la méthode suivante:
    SELECT "TABLE_é"."CHAMP_é" FROM "TABLE_é" lors de la présentation de la requête au gestionnaire ODBC.
    -> le nom de la table et du champ entre guillemets.
    Par contre, il est nécessaire de spécifier tous les champs (le générique * ne fonctionne pas).
    Dans mon cas, je n'ai besoin que de l'extraction....

    Effectivement, l'autre méthode est de renommer toutes les tables et les champs. Le client final risque de ne pas apprécier... Surtout si ce dernier n'a pas toutes les informations nécesasires.

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/07/2015, 18h12
  2. [EG] Macro variable dans le nom d'une table
    Par asirier dans le forum Outils BI
    Réponses: 2
    Dernier message: 02/07/2013, 15h44
  3. Problème avec accent dans fichier
    Par shaun_the_sheep dans le forum Administration système
    Réponses: 3
    Dernier message: 19/11/2006, 20h46
  4. Requête avec accent dans navicat
    Par Marconico dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/11/2006, 12h31
  5. [JavaMail] Pb avec accent dans sujet et corps de l'email
    Par shaun_the_sheep dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 29/10/2004, 12h42

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