|
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 .. |
| |
| |
| | | |
|
| | | | |
| | |
|