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 :

[D7] DLL impossible de connecter à une base de données


Sujet :

Bases de données Delphi

  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut [D7] DLL impossible de connecter à une base de données
    Bonjour,

    Depuis plusieurs jours je tente de convertir une application actuellement en mode standalone en ISAPI (donc une dll).

    Cette dll se compile parfaitement mais à l'exécution j'obtiens systématiquement un message d'erreur dès que j'essaye de me connecter à la base de données.
    Je suppose que c'est dû à un problème de droits ; de la même manière que je n'ai pas été autorisé à créer mon fichier de log n'importe où.

    Comment puis-je autoriser la dll à se connecter au serveur de base de données ? Comment puis-je l'autoriser à utiliser le driver des composants dbExpress qui se trouve je ne sais où ?
    Peut être le problème vient d'ailleurs, vous n'auriez pas une idée d'où ?

    Thanks pour l'aide.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  2. #2
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut
    Salut !

    Et as tu une idée du message d'erreur lors de la connection à la base de donnée ?? (peut être pas si tu n'arrive pas à faire un fichier de log)

    Tu as peut être un problème d'initialisation des objets COM qui est normalement automatique dans les applications.
    Il existe néanmoins des cas où l'initialisation n'est pas automatique, comme entre autre une application Service NT, une DLL, une application WebSnap…
    Afin d'initialiser COM, on utilisera alors avant d'utiliser les objets de connexion à ta base de donnée et afin de clore l'utilisation de la bibliothèque COM.
    Ces appels nécessitent d'ajouter ActiveX dans les Uses.

    A+
    Fais cogiter ta Noisette !!

    Participez à la page SOURCES Delphi !

    Découvrez le Défi Delphi

    Mon Mail

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par NoisetteProd
    Et as tu une idée du message d'erreur lors de la connection à la base de donnée ??
    Tiens toi bien :
    L'instruction à "0x0113415b" emploie l'adresse mémoire "0x0000000". La mémoire ne peut pas être "written".

    Cliquez sur OK pour terminer le programme.
    Cliquez sur Annuler pour déboguer le programme.
    D'autre part, concernant l'initialisation des objets COM, j'ai essayé avec ColInitialize / ColUnInitialize respectivement dans les évènements BeforeConnect / AfterDisconnect de l'objet TSQLConnection mais j'ai toujours le même message d'erreur à l'exécution et d'après mon fichier de log toujours à la même instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     UserSession.DMPrimeurs := TDMPrimeurs.Create(nil);
    Pourtant d'après mes recherches, il ne devrait pas y avoir de modifications à apporter pour se connecter à la base de données par rapport au mode standalone ?


    Je te donnes d'autres infos sur le contexte si jamais ça pouvait te donner d'autres idées :
    je reprends une application de 80 000 lignes sous Delphi 7 Pro & IntraWeb 7 en mode standalone et qui accède à une base ORACLE 8i via les composants dbExpress.
    Je cherches à convertir cette application en ISAPI afin de l'interfacer avec un serveur web IIS 5.1
    La cause de ce changement est que je cherche à améliorer les performances de l'applicationLENTE (environ 6 secondes pour afficher un formulaire qui récupère 2000 enregistrements) alors que ma config est un bi-proc de 3 GHz avec 1 Go de RAM.


    Jusqu'à maintenant, j'ai effectué sans gain de performance (dans le désordre) :
    - vérification de la structure de la base : présence d'index, etc.
    - études des composants d'accès à la base de données
    - mise à jour d'IntraWeb et des composants IntraWeb (TMS)
    - étude de l'optimisation des fonctions "gourmandes" avec des profiler
    - analyse comparative avec une partie de l'application développée en client / serveur
    - étude des temps de récupération des infos de la base de données dans Delphi (de 0 à 15 ms).


    Merci de ton aide.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

Discussions similaires

  1. Impossible de connecter une base sous windows 7
    Par jer64 dans le forum Débuter
    Réponses: 1
    Dernier message: 21/11/2011, 23h00
  2. Réponses: 0
    Dernier message: 25/05/2010, 17h32
  3. Impossible de se connecter à une base de donnée
    Par patrice419 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 26/04/2007, 12h41
  4. Connection à une base de données
    Par rodri dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2004, 15h05
  5. Connection à une base de données
    Par rodri dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/07/2004, 13h03

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