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 :

MSSQL - DBEXPRESS Drivers


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 50
    Points : 44
    Points
    44
    Par défaut MSSQL - DBEXPRESS Drivers
    Bonjour à tous,
    J'utilise Delhi XE2 et Sql Server 9.0.4053 placé sur une machine distante du réseau.

    Je parviens à me connecter à ma BD sans problème avec les composants ADO.

    Mais, je suis passé à la version entreprise de Delphi et je peux donc utiliser l'explorateur de données intégré.

    Ce dernier utilise Dbexpress pour faire la connexion.

    Le message d'erreur rencontré est :

    "Borland.Data.TDBXError: Erreur DBX : Le pilote n'a pas été correctement initialisé. La bibliothèque client est manquante, n'est pas installée correctement, sa version est incorrecte, ou le pilote n'est pas dans le chemin système."

    Pouvez vous m'aider ?

    Merci !

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Voila j'utilise XE3 avec Datasnap.
    J'essaye de mettre mon serveur datasnap qui se connecte à une base de données SQL serveur 2005 sur une autre machine que ma machine de developpement, mais malheureusement à chaque démarrage j'ai le message suivant : "Erreur DBX, le pilote n'a pas été correctement initialisé. la bibliothèque client est manquante, n'est pas installée correctement, sa version est incorrecte, ou le pilote n'est pas dans le chemin système", j'ai pourtant copié toutes les dlls préconisées par embarcadero dans tous les repertoires système mais cela ne marche pas ????

    Est ce que quelqu'un à une solution ?

    Merci d'avance.

  3. #3
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut j'ai eu le même problème avec firebird
    Pour résoudre le problème je me suis mis sur le réseau de production et j'ai créer la connexion.

    Quand je développe, j'active la connexion locale, et avant de déployer je compile avec avec la connexion de Production.

    Ce n'est pas la bonne méthode mais ça fonctionne.

    Cordialement

    André

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Citation Envoyé par dmahistre Voir le message
    j'ai pourtant copié toutes les dlls préconisées par embarcadero dans tous les repertoires système mais cela ne marche pas ????
    C'est génant car c'est la procédure à suivre pour ton déploiement

    Vérifie ton TSQLConnection, les propriétés VendorLib, LibraryName, Function ... idéalement pour ne pas être dépendant des fichiers INI

    Si tout est OK à ce niveau

    tu as plusieurs solutions
    - utiliser le Driver ODBC via DBExpress, cela revient plus ou moins à utiliser ADO, où je travaille on l'utilise parfois au lieu de ASA Sybase pour lire un DB archivée en mode fichier et non en mode serveur TCPIP
    Le Driver ODBC est souvent fourni par MS en ce qui concerne SQL Server

    - utiliser le Driver MS SQL via DBExpress et vérifier si tu as VRAIMENT déployé ce qui recommandé dans Deploying dbExpress Database Applications, il suffit d'un mauvais paramètrage dans TSQLConnection pour provoquer ce problème ou alors l'utilisation d'une DLL non approuvée (testée) par Embarcadero : Release Notes for XE3 :

    Microsoft SQL Server 2008, 2005, 2000 (Ent/Ult/Arch) (Driver dbxMSS.dll, Client sqlncli10.dll)

    Note: Clients are available for download from the vendors' websites.
    dbxMSS.dll = DLL de Embaracero => LibraryName
    sqlncli10.dll = DLL de Microsoft (non fourni par Delphi) => VendorLib

    Il te faut installer le client SQL Server ou au moins les DLL minimum nécessaires !


    - utiliser un AUTRE Driver MS SQL via DBExpress comme ceux de Devart CoreLab qui fournis un Kit d'install plus simple !
    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

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    merci pour vos réponse je vais tester cela.

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    re...

    Bon en cherchant je me suis aperçu que le problème n'est pas au niveau des drivers pour MSSQL mais au niveau de DATASNAP.
    L'erreur n'arive pas au moment de la connexion mais au moment de l'ouverture du clientdataset ???

    Je continu à chercher, si quelqu'un a une idée ...je suis preneur ..

    Merci

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Tes ClientDataSet sont-ils correctement lié par la propriété ProviderName (perso, je préfère la méthode SetProvider()) à un TProviderDataSet ce dernier étant connecté sur un TSQLQuery par exemple

    pense à faire le Open sur le TSQLQuery puis sur le TClientDataSet

    le TSimpleDataSet regroupe le ClientDataSet, le TSQLQuery et ClientDataSet en un seul objet

    Pour DataSnap, je n'ai pas eu la chance de participer à l'actuelle migration DCOM vers DataSnap de nos serveurs, à part Midas.dll à déployer, j'ignore les autres pré-requis
    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

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Re...

    Bon j'ai contacté Embarcedero a ce sujet, ils m'ont conseillé de mettre dans le uses midaslib mais cela ne change rien ????

    J'ai essayé sur une autre machine avec XE3 et bien sur cela fonctionne ....

    J'attends toujours une réponse d'embarcedero ....

    Salut ...

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

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

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut
    Bonjour,

    Je relance ce post, car j'ai le même problème avec Dbexpress.
    Voici ma config de dev:

    Win7 64 - Delphi XE2 - MSSQL 2008.

    Sur cette machine de dev, tout fonctionne.

    Sur machine de prod, Win7 64, loggé en tant qu'admin du poste.
    je prends les dll dbxmss.dll et sqlncli10.dll que je place dans les répertoire system32 et sysWOW64 et j'obtiens le même message que vu ci-dessus.
    Juste un truc, pour que dbxmss.dll soit trouvé, je dois le mettre dans Windows et non System32 !

    Pour tester, voici ce que j'ai fait.
    Sur ma machine de Dev, j'ai renommé toutes les copies de sqlncli10.dll et dbxmss.dll et je n'ai conservé QUE dbxmss.dll dans Windows et sqlncli10.dll dans SysWOW64.
    Mon programme tourne.

    J'ai fait la même chose sur la machine de Dev et nada, toujours le même message.

    Je ne sais plus où chercher HELP
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

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

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

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut
    Bonjour,

    Et bien j'ai fini par trouver une solution.
    Téléchargement du msi d'install de sqlncli.
    Il existe trois versions pour SQL 2008: X86, X64 et IA64.

    Pour le trouver j'ai fait une recherche sur Microsoft SQL Server 2008 R2 Native Client

    Maintenant, il ne me reste plus qu'a tenter de comprendre ce qui manquait à sqlncli10.dll pour permettre le fonctionnement du client, sans avoir à utiliser ce package.
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

Discussions similaires

  1. Firebird dbExpress Driver Delphi7
    Par typhon_186 dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/10/2013, 21h43
  2. [XE3, MSSQL, DBExpress] Performance INSERT avec paramètres
    Par Eric.H dans le forum Bases de données
    Réponses: 8
    Dernier message: 04/02/2013, 16h56
  3. Problème DBXPRESS MSSQL DRIVER
    Par TUODOR154 dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/06/2006, 22h22
  4. DBEXPRESS + MSSQL : BUG : ajout d'espaces dans FindKey ??
    Par fredfred dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/03/2005, 12h23
  5. Autoincrément, MSSQL et dbExpress
    Par Ethmane dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/02/2004, 14h33

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