PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Accès par OLE DB vers SQL Server
Accès par OLE DB vers SQL Server
Started by Philippe, Apr., 19 2005 8:27 PM - 4 replies
Posted on April, 19 2005 - 8:27 PM
Bonjour,

Avant de poser ma question, voici la configuration :
Windev 9 01-90028m sur poste développement en W2K SP4
Sur serveur : W2K Server ainsi que SQL Server 2000

Je développe une application qui doit accéder à une base de données sous SQL Server via OLE DB (c'est le choix qui a été décidé malgré que le meilleur choix est en accès natif !!)

Depuis l'analyse j'ai donc déclaré mon type de connexion : OLE DB ainsi que le serveur où est installé SQL Server et donc la base de donnée qui s'appelle PASS2

Lors du test sur la base PASS2 via OLE DB aucun problème ça fonctionne très bien.

Maintenant je voudrais me connecter à une autre base (PASS3) et donc via programmation
dont voici une partie du code principal qui se trouve dans le code de projet :

SI HOuvreConnexion(sNomConnexion,sNomUtilisateur,sMotDePasse,sNomSource,sNomBase,hOledbSQLServer,hOLectureEcriture)=Faux ALORS
Erreur(ErreurInfo())
FinProgramme()
FIN

SI HChangeConnexion("*",sNomConnexion)=Faux ALORS
Erreur(ErreurInfo())
FinProgramme()
FIN

Les variables : sNomUtilisateur,sMotDePasse,sNomSource,sNomBase sont lues dans un fichier ini

Lors du test de connexion le programme va toujours lire sur la base décrite dans l'analyse : PASS2 !!! alors que je déclare bien dans le fichier ini la valeur de la variable du nom de la base à PASS3

Je ne comprends pas très bien le lien OLE DB vers la base SQL Server, y a t'il un paramétrage quelque part pour définir le lien OLE DB vers la base SQL Server ?
Je ne trouve aucun pilote OLE DB dans la liste des pilotes ODBC ..
Enfin bref ça coince ! si quelqu'un connais ou a déjà pratiqué ce type de connexion je suis preneur..

Pour info ce même code mais en accès natif fonctionne parfaitement en modifiant la constante hOledbSQLServer en hAccèsNatifSQLServer
suivant les indications dans le fichier ini. Je peux aussi bien aller dans la base de données PASS2 que PASS3 au lancement de l'appli. Donc je suis sûr de mon code est correct et c'est donc ce lien OLE DB vers la base SQL qui doit donc bien clocher..

Merci d'avance

Philippe
Posted on April, 20 2005 - 1:00 PM
Ca devrait marcher sinon il y a un autre moyen :
- pas de declaration de BDD dans ton HouvreConnexion()
- mettre NOMBDD..Nomtable dans ta requête
cela permet de faire une seule connexion et d'attaquer n'importe quelle
table de n'importe quelle BDD

"Philippe" <pchanliau@ricoh.fr> a écrit dans le message de
news:426525e5$1@news.pcsoft.fr...

Bonjour,

Avant de poser ma question, voici la configuration :
Windev 9 01-90028m sur poste développement en W2K SP4
Sur serveur : W2K Server ainsi que SQL Server 2000

Je développe une application qui doit accéder à une base de données sous

SQL Server via OLE DB (c'est le choix qui a été décidé malgré que le
meilleur choix est en accès natif !!)

Depuis l'analyse j'ai donc déclaré mon type de connexion : OLE DB ainsi

que le serveur où est installé SQL Server et donc la base de donnée qui
s'appelle PASS2

Lors du test sur la base PASS2 via OLE DB aucun problème ça fonctionne

très bien.

Maintenant je voudrais me connecter à une autre base (PASS3) et donc via

programmation
> dont voici une partie du code principal qui se trouve dans le code de
projet :

SI

HOuvreConnexion(sNomConnexion,sNomUtilisateur,sMotDePasse,sNomSource,sNomBas
e,hOledbSQLServer,hOLectureEcriture)=Faux ALORS
Erreur(ErreurInfo())
FinProgramme()
FIN

SI HChangeConnexion("*",sNomConnexion)=Faux ALORS
Erreur(ErreurInfo())
FinProgramme()
FIN

Les variables : sNomUtilisateur,sMotDePasse,sNomSource,sNomBase sont lues

dans un fichier ini

Lors du test de connexion le programme va toujours lire sur la base

décrite dans l'analyse : PASS2 !!! alors que je déclare bien dans le
fichier ini la valeur de la variable du nom de la base à PASS3

Je ne comprends pas très bien le lien OLE DB vers la base SQL Server, y a

t'il un paramétrage quelque part pour définir le lien OLE DB vers la base
SQL Server ?
Je ne trouve aucun pilote OLE DB dans la liste des pilotes ODBC ..
Enfin bref ça coince ! si quelqu'un connais ou a déjà pratiqué ce type de

connexion je suis preneur..

Pour info ce même code mais en accès natif fonctionne parfaitement en

modifiant la constante hOledbSQLServer en hAccèsNatifSQLServer
> suivant les indications dans le fichier ini. Je peux aussi bien aller
dans la base de données PASS2 que PASS3 au lancement de l'appli. Donc je
suis sûr de mon code est correct et c'est donc ce lien OLE DB vers la base
SQL qui doit donc bien clocher..

Merci d'avance

Philippe
Posted on April, 20 2005 - 1:28 PM
A priori il manque des parametres dans le Houvreconnexion !

En effet si tu te connectes en "Authentifiant Windows" tu dois rajouter :

HOuvreConnexion("Bellocq","","","ald","Bellocq",hOledbSQLServer,hOLectureEcriture,"Integrated Security=SSPI;")

Bref va dans les parametres de ta connexion sur l analyse, tu trouveras une longue
chaine que tu pourras adapter a ta nouvelle base ! Peu de parametres sont necessaires
dans cette chaine, mais il doit bien y en avoir un qui te pose probleme !

voila bon courage,
Damien.
Posted on April, 20 2005 - 11:46 PM
non je n'utilise pas l'authentification Windows mais l'authentification
déclaré dans SQL Server

De plus en accès natif ça fonctionne ! donc je ne vois pas où ça coince ce
truc..

"leplaidn" <damien.lep@tiscali.fr> a écrit dans le message de news:
42661518$1@news.pcsoft.fr...

A priori il manque des parametres dans le Houvreconnexion !

En effet si tu te connectes en "Authentifiant Windows" tu dois rajouter :

HOuvreConnexion("Bellocq","","","ald","Bellocq",hOledbSQLServer,hOLectureEcriture,"Integrated
Security=SSPI;")

Bref va dans les parametres de ta connexion sur l analyse, tu trouveras
une longue
chaine que tu pourras adapter a ta nouvelle base ! Peu de parametres sont
necessaires
dans cette chaine, mais il doit bien y en avoir un qui te pose probleme !

voila bon courage,
Damien.
Posted on April, 21 2005 - 1:50 PM
Je pourrais avoir plus de détail sur votre solution ..