Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Bases de données
Bases de données Vos questions concernant les bases de données (BDE, Access, SqlServer...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/10/2012, 10h37   #1
Cyrille36
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 45
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : septembre 2008
Messages : 45
Points : 13
Points : 13
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 !
Cyrille36 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2012, 17h44   #2
dmahistre
Invité de passage
 
Inscription : août 2008
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 6
Points : 4
Points : 4
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.
dmahistre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2012, 17h40   #3
alheuredudejeuner
Membre confirmé
 
Homme André MANIN
Développeur informatique
Inscription : août 2005
Messages : 185
Détails du profil
Informations personnelles :
Nom : Homme André MANIN
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Distribution

Informations forums :
Inscription : août 2005
Messages : 185
Points : 253
Points : 253
Envoyer un message via MSN à alheuredudejeuner
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é
alheuredudejeuner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 12h01   #4
ShaiLeTroll
Expert Confirmé Sénior
 
Avatar de ShaiLeTroll
 
Homme
Développeur C++\Delphi
Inscription : juillet 2006
Messages : 9 261
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Développeur C++\Delphi
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : juillet 2006
Messages : 9 261
Points : 13 373
Points : 13 373
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 :

Citation:
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

Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié !
ShaiLeTroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 14h23   #5
dmahistre
Invité de passage
 
Inscription : août 2008
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 6
Points : 4
Points : 4
merci pour vos réponse je vais tester cela.
dmahistre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 17h35   #6
dmahistre
Invité de passage
 
Inscription : août 2008
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 6
Points : 4
Points : 4
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
dmahistre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 10h37   #7
ShaiLeTroll
Expert Confirmé Sénior
 
Avatar de ShaiLeTroll
 
Homme
Développeur C++\Delphi
Inscription : juillet 2006
Messages : 9 261
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Développeur C++\Delphi
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : juillet 2006
Messages : 9 261
Points : 13 373
Points : 13 373
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

Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié !
ShaiLeTroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2012, 09h36   #8
dmahistre
Invité de passage
 
Inscription : août 2008
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 6
Points : 4
Points : 4
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 ...
dmahistre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2013, 23h37   #9
castorcharly
Membre habitué
 
Avatar de castorcharly
 
Homme
Chef de projet
Inscription : février 2009
Messages : 207
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 57

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

Informations forums :
Inscription : février 2009
Messages : 207
Points : 123
Points : 123
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
castorcharly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 06h31   #10
castorcharly
Membre habitué
 
Avatar de castorcharly
 
Homme
Chef de projet
Inscription : février 2009
Messages : 207
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 57

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

Informations forums :
Inscription : février 2009
Messages : 207
Points : 123
Points : 123
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.
castorcharly est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h19.


 
 
 
 
Partenaires

Hébergement Web