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 :

Erreur de connexion à une BDD SQL Server 2000 avec BDE


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 30
    Points
    30
    Par défaut Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Salut, mon problème ne doit pas être bien compliqué à résoudre mais je n'arrive pas à voir le petit truc qu'il me manque.
    Voilà, je développe une appli (sous delphi 2005) qui devra de façon automatique lire le contenu d'un fichier texte, analyser le contenu et mettre les données en bdd. Mon problème ? C'est que je galère comme un pauvre ignorant à me connecter à ma bdd qui se situe sur un serveur distant. Ma liaison ODBC est selon moi bien configurée avec prise en compte de l'identification SQL Server.
    Pour établir cette connexion, je dispose sur ma fiche d'un composant TQuery de la biblio BDE dont la propriété "DataBaseName" est correctement renseignée par l'alias ODBC de ma base. Je n'ai touché à rien d'autre pour les propriétés de ce composant.
    Voici le code associé au TQuery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    TQTest.close;
    TQTest.SQL.Clear;
    TQTest.SQL.Add('select * from MaTable');
    TQTest.ExecSQL;
    TQTest.active := true;
    TQTest.open;
    Le programme plante au niveau de l'ExecSQL avec l'erreur ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Le projet MonProjet.exe a déclenché la classe d'exception EDBEngineError avec le message 'Utilisateur ou mot de passe inconnu.
    [Microsoft][ODBC SQL Server Driver][SQL Server] Echec de la connexion de l'utilisateur '(null)'. Raison, non associé à une connexion sécurisée SQL Server
    Erreur SQL générale.
    Alias:Monalias.
    Je comprends tout à fait l'erreur, ce que je ne comprends pas c'est qu'en aucun cas je n'ai eu d'invite de connexion SQL Server et tout semble bien paramétré dans l'ODBC.
    Je ne sais plus quoi essayer (j'ai essayé avec d'autres composants tels que TTable, TDataSource... même problème), peut-être que je ne cherche pas au bon endroit, peut-être le choc de mon passage de Delphi6 à Delphi 2005, aidez-moi si vous avez une idée. Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 63
    Points : 54
    Points
    54
    Par défaut
    Perso je passe systématiquement par un composant TDatabase (ou TADOConnection pour ADO) pour me connecter à mes bases de données.

    TQuery > TDatabase > Bdd

    Tu trouveras d'ailleurs sur ton TDatabase un champs LoginPrompt qui par défaut est à True.

    PS : Pour l'activation de ta Query, un simple Open suffit.

    ExecSQL, est utile pour les query ne renvoyant pas d'ensemble de donner (Update, Insert, ...)
    Active := true, fait exactement la même chose que Open

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    Merci pour toutes les infos, je me doutais bien qu'il y avait de la redondance entre active et open mais je ne m'étais jamais vraiment penché sur le problème.

    Après avoir posté mon topic hier en fin d'après midi et avant de voir ta réponse, je m'étais déjà dirigé vers l'utilisation d'un TDataBase, j'ai lâché l'affaire hier en fin d'après midi parce que ça me prenait vraiment trop la tête, surtout du fait que j'ai déjà développé en delphi des applis pour bdd Access et je n'ai jamais eu de problème, au contraire, 1'30 montre en main, je pouvais me connecter et interroger ma base. Et là, avec SQL Server et Delphi 2005, pas moyen de se connecter. Je commence à désespérer, je n'arrive pas à savoir d'où vient le problème.

    Bref, j'ai épluché la doc Borland sur Tdatabase, Tquery, Tsession; les tutoriels de developpez.com; j'ai également trituré dans tous les sens les paramètres du lien ODBC et ça ne fonctionne toujours pas et je n'ai pas non plus d'invite de connexion. Soit c'est le mot de passe, soit c'est le login, soit c'est le nom ou l'alias de la BDD en fonction des params de l'ODBC, je tourne en rond et commence à devenir fou car ce genre de chose ne devrait pas être compliqué à programmer surtout avec les composants mis à disposition par Borland.

    Donc si quelqu'un avait un tutoriel sur ODBC et BDE pour bdd SQL Server sur serveur distant ou un lien ou encore la possibilité de m'expliquer en 2-3 étapes la mise en place de ce genre de connexion .... je suis preneur

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    Du nouveau depuis tout à l'heure : J'ai enfin mon invite de connexion, il manquait en fait l'instruction :

    dblogdlg dans le uses de la fiche.

    Ok, maintenant je suis heureux, je bas de la queue (désolé), mais le problème est qu'il ne trouve pas les tables que je veux interroger avec mon Tquery. L'erreur stipule qu'il n'arrive pas à trouver les tables dans le répertoire de l'application, hors, le lien ODBC stipule bien quant à lui que la base est sur un serveur et non pas au niveau du répertoire de l'application.
    L'interrogation de la base avec le TQuery est faite grâce au code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TQTest.Close;
    TQTest.SQL.Clear;
    TQTest.SQL.Add('select * from MaBase.MaTable;');
    TQTest.Open;
    L'appli s'arrète au niveau de l'Open et me balance l'erreur décrite plus haut. C'est de nouveau la "loose", je ne comprends pas.

Discussions similaires

  1. Connexion à une BDD SQL Server via postgreSQL
    Par siin44 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 26/01/2012, 15h15
  2. Connexion à une BDD SQL Server
    Par benji5620 dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 08/12/2011, 11h04
  3. Problème de connexion à une BDD SQL SERVER 2008
    Par idris dans le forum Accès aux données
    Réponses: 1
    Dernier message: 08/09/2010, 16h37
  4. Réponses: 2
    Dernier message: 04/06/2009, 11h52
  5. Securiser une BDD SQL Server 2000
    Par nabil_abada dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 30/09/2006, 10h31

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