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 :

[IM001][Gestionnaire de pilotes ODBC] Le pilote ne prend pas en charge cette fonction


Sujet :

Bases de données Delphi

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 22
    Points
    22
    Par défaut [IM001][Gestionnaire de pilotes ODBC] Le pilote ne prend pas en charge cette fonction
    Bonjour!!
    Voila j'ai un petit souci avec ma connexion à ma base de données.
    J'utilise la methode ODBC pour me connecter avec une classe de connexion personnalisé.

    Donc je travaille sur un analyseur de base de données qui permet de recuperer les informations concernant la structure de la base de données (Un mini access).
    Voila pour le moment il fonctionne mais je souhaite rajouter des fonctionnalités du moins recuperer des informations supplémentaires (Clé primaire, clé etrangere, et autres contraintes).

    Mon souci est que j'ai une methode qui doit me permettre de recuperer la clé primaire d'une table:
    j'utilise la fonction SQLGetPrimaryKeys de ODBC mais j'ai l'erreur suivante qui est genéré:
    [IM001][Gestionnaire de pilotes ODBC] Le pilote ne prend pas en charge cette fonction

    Par consequent , je ne recupere aucune information!
    D'ou peut venir ce probleme?
    J'ai essayé de mettre a jour mes pilotes ODBC mais ils sont deja à jour!
    J'ai configuré mon lien ODBC dans ma table avec la version 3.
    Enfin voila, la je plante completement!

    Si quelqu'un a une idée je suis preneur!

    Mon code:
    Methode pour recuperer les clés primaires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    //==============================================================================
    function TConnexionBDD.getPrimaryKey(Table:string):String;
    var
      OdbcStmt: SQLHANDLE;
     
      function GetString(ColumnNumber: integer): string;
      var
        iRet:    integer;
        sRetour: array[0..64000] of char;
      begin
        Result := '';
        if SQLSUCCEEDED(SQLGetData(OdbcStmt, ColumnNumber, SQL_C_CHAR,
          @sRetour[0], sizeof(sRetour), iRet)) then
          Result := Copy(sRetour, 1, min(sizeof(sRetour), iRet));
      end;
     
    begin
      Result := '';
      if not (estConnecte) then
        Exit;
      SQLAllocHandle(SQL_HANDLE_STMT, Hdbc, OdbcStmt);
      RetCode := SQLPrimaryKeys(OdbcStmt, nil, 0, nil, 0,
        PAnsichar(Table), Length(Table));
      FErrorMessage  := GetErrorMessage(SQL_HANDLE_STMT, OdbcStmt, RetCode);
      if FErrorMessage <> '' then
      begin
        SQLFreeHandle(SQL_HANDLE_STMT, OdbcStmt);
        Exit;
      end;
      while SQLSUCCEEDED(SqlFetch(OdbcStmt)) do
      begin
        Result := Result + GetString(4) + ',';
      end;
      Result := LeftStr(Result, Length(Result) - 1);
    end;

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Personne ne peut m'aider???

  3. #3
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Je déterre ce vieux sujet
    Citation Envoyé par davos56 Voir le message
    Voila j'ai un petit souci avec ma connexion à ma base de données.
    J'utilise la methode ODBC pour me connecter avec une classe de connexion personnalisé.
    salut quelle base de donées ?
    Si c'est Paradox c'est normal les tables sont constituées par des fichiers c'est pas un SGBD relationnel...

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/05/2011, 10h10
  2. Gestionnaire de pilotes ODBC et source de données introuvable
    Par AITELMAATI dans le forum Bases de données
    Réponses: 6
    Dernier message: 13/08/2010, 15h11
  3. Réponses: 1
    Dernier message: 19/04/2007, 11h44
  4. Réponses: 8
    Dernier message: 20/06/2006, 16h54
  5. Réponses: 27
    Dernier message: 19/10/2005, 10h27

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