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 :

Dbexpress SQLConnection sqlncli10.dll


Sujet :

Bases de données Delphi

  1. #1
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut Dbexpress SQLConnection sqlncli10.dll
    Bonjour,

    Je rencontre un problème avec une connexion à une base de donnée MsSql sous service.

    Je suis sous DXE2 enterprise. et je travaille avec un serveur Mssql local 2008 R2 sous OS Seven 64.

    les unités de mon projet peuvent être compilée sous deux exe, le premier est le service de prod, le second projet est un exe win32 classique.
    Ces deux projets utilisent la même unité et les mêmes params pour la connexion à la base.
    Ce sont tous les deux des projets 32 bits.

    Lorsque j'exécute l'exe win32, la connexion se déroule sans problème, quand je lance le service j'ai une erreur comme quoi il ne trouve pas la librairie VendorLib (sqlncli10.dll) qui est située sur mon poste dans
    C:\Windows\SysWOW64

    J'ai fait pas mal de tentative pour permettre au service de pouvoir localiser cette DLL:
    1) Compte de connexion du service sous mon compte
    2) passage comme paramètre du chemin complet de la lib
    3) renseignement du chemin C:\Windows\SysWOW64 dans le path général.

    Rien n'y fait, j'ai toujours le même message d'erreur en exécutant le service.

    Avez-vous une idée pour palier ce problème ?

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 083
    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 083
    Par défaut
    Un Service 32Bits dans un environnement 64Bits !

    J'aurais proposé le compte de session, tu a déjà fait, mince si ça fonctionne pas !
    Peut-être forcer le service comme "interactif"
    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 éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Un Service 32Bits dans un environnement 64Bits !

    J'aurais proposé le compte de session, tu a déjà fait, mince si ça fonctionne pas !
    Peut-être forcer le service comme "interactif"
    Je développe sur un OS 64, mais mon projet n'ira pas forcement sur une machine 64bits.

    J'ai aussi indiqué au service de travailler sous Interactif et nada.

    Merci, d'autres idées ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 930
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 930
    Par défaut
    Un service 32 bits fonctionne très bien sur une machine 64 bits

    Logiquement, tu ne devrais pas avoir à spécifier de chemin du tout ! Si tu en passes un du genre C:\Windows\SysWOW64, l'OS va te le convertir en C:\Windows\SysWOW64\SysWOW64

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 083
    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 083
    Par défaut
    Je me rappel que pour ADO
    il fallait pour un service :
    une alias ODBC de type "source de données système"
    Et ne pas oublier le CoInitialize dans TService.OnStart car c'est plus ou moins TApplication que le fait (initialization de Forms) pour un EXE VCL et un service n'ayant pas de TApplication mais TApplicationService ... forcément !

    Citation Envoyé par Andnotor Voir le message
    Un service 32 bits fonctionne très bien sur une machine 64 bits
    Il fonctionne mais isolé dans sa bulle

    nos services peuvent fonctionner en mode manuel (exe) ou mode service
    nos services embarquent du DCOM,
    en mode manuel, tu te retrouves avec une instance par client au lieu d'une commune ...
    en mode service, je ne sais pas, je crois que mon reponsable a encore un soucis à ce sujet
    Comme on passe en DataSnap en abandonnant le DCOM, le problème n'existera plus !
    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

  6. #6
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Je me rappel que pour ADO
    il fallait pour un service :
    une alias ODBC de type "source de données système"
    Et ne pas oublier le CoInitialize dans TService.OnStart car c'est plus ou moins TApplication que le fait (initialization de Forms) pour un EXE VCL et un service n'ayant pas de TApplication mais TApplicationService ... forcément !


    Il fonctionne mais isolé dans sa bulle : Serveur DCOM MultiThread
    Hummmm! Coinitialize, ça c'est une bonne idée, je vais vérifier de ce coté.

    Citation Envoyé par Andnotor Voir le message
    Un service 32 bits fonctionne très bien sur une machine 64 bits

    Logiquement, tu ne devrais pas avoir à spécifier de chemin du tout ! Si tu en passes un du genre C:\Windows\SysWOW64, l'OS va te le convertir en C:\Windows\SysWOW64\SysWOW64
    Je suis tout à fait d'accord, j'ai juste fait un test en mettant le chemin complet, mais je suis revenu au format normal.

  7. #7
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Merci ShaiLeTroll,




    Coinitalize à bien résolu le problème dans le service.

    Pourtant, j'ai l'habitude de l'utiliser mais j'ai le cerveau ramolli par la canicule !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. dbExpress (ne peut charger libmysql.dll)
    Par gizmorambo dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/10/2016, 11h50
  2. [Débutant] Dbexpress,Encapsuler la dll dbexpmss.dll dans l'exe ?
    Par pitango dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 11h53
  3. Problème avec dbExpress et Mysql (dbexpmysql.dll?)
    Par tipiweb dans le forum Bases de données
    Réponses: 4
    Dernier message: 31/01/2006, 16h46
  4. Pb SQLCONNECTION(DBEXPRESS)
    Par valoji dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/10/2005, 09h33
  5. dbexpress - libmysql.dll
    Par Nadd dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 14h00

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