Connection bdd impossible dans un include

Résolu
nahzhir Messages postés 66 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 15 janvier 2008 - 18 janv. 2006 à 11:31
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 - 20 janv. 2006 à 16:48
bonjour,
je n'arrive pas à me connecter à ma base access, quand mon code pour la connection est dans un fichier include qui s'appele traitement.inc. Mais quand je met ce code dans ma page asp la connection fonctionne.

Pouvez vous m'aider ?

11 réponses

nahzhir Messages postés 66 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 15 janvier 2008
20 janv. 2006 à 09:41
en fait, comme il m'etait un pronleme sur l'objet Conn, je l'ai declarer dans ma pages ASP c'est a dire :
j'ai mis : Set Conn = Server.CreateObject("ADODB.Connection")

et ma fonction est maintenant :

function connecter()
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../")&"/formation/Formations.mdb"
end function

et ça marche merci quand meme
3
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
18 janv. 2006 à 13:35
Tu n'arrives pas, c'est à dire ? Tu as un message d'erreur ?
Comment inclus-tu le fichier dans ta page ?

Nurgle
0
nahzhir Messages postés 66 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 15 janvier 2008
18 janv. 2006 à 14:10
en fait j'ai un message d'erreur :

Erreur d'exécution Microsoft VBScript error '800a01a8'
Objet requis: 'Conn'

ou Conn est l'objet ADODBC.connection

j'inclu mon fichier avec :

<!--#include virtual="formation/includes/traitement.inc" -->

j'ai essayer avec file au lieu de virtual et ça ne fonction toujours pas.
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
18 janv. 2006 à 19:30
Et la déclaration de ton objet Conn (le Set Conn = ...) se trouve où ? dans ta page ou dans l'include ?
Néanmoins c'est bizarre...
tu es sûr que ton Conn est bien déclaré quelque part ?

Nurgle
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nahzhir Messages postés 66 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 15 janvier 2008
19 janv. 2006 à 09:06
dans mon fichier que j'inclus (traitement.inc) j'ai :

function connecter()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
end function
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
19 janv. 2006 à 19:32
Et où appelles-tu ta fonction "connecter" ??
parce que, tant que tu ne l'appelles pas (après l'avoir déclarée évidemment ) et bien, ton objet Conn n'existe pas !!

Nurgle
0
nahzhir Messages postés 66 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 15 janvier 2008
19 janv. 2006 à 22:05
j'appele ma fonction connecter dans ma page asp
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
19 janv. 2006 à 22:13
Si tu l'appelles après l'include, ça veut dire que dans l'include, ton objet Conn n'existe pas !! Tu dois forcément l'appeler avant, et donc définir ta fonction encore avant !

Nurgle
0
nahzhir Messages postés 66 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 15 janvier 2008
19 janv. 2006 à 22:16
mon include il est tout au debut de ma page asp
les autres fonction marche mais celle de la base de donnée
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
19 janv. 2006 à 22:34
Un include fonctionne exactement comme si tu faisais un copier-coller du contenu dans ta page !
donc si dans l'include tu as ça :
function connecter()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
end function
et qu'un peu plus bas, tu vas l'utiliser (par exemple avec un Conn.Execute(SQL) )
Il faut obligatoirement que tu fasses un appel à la fonction connecter() avec d'utiliser Conn !! Tu dois donc appeller (dans l'include) la fonction connecter() et ne plus l'appeller null part dans l'include ni dans la page !

(Bon, si tu n'as toujours pas compris ce que j'essaye d'expliquer , le plus simple est d'enlever la fonction, de remplacer ça :
function connecter()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
end function
par ça :
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "provider= Microsoft.jet.oledb.4.0;data source="& Server.MapPath("../") &"/formation/Formations.mdb"
mais bon, c'est toi qui vois...)

Nurgle
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
20 janv. 2006 à 16:48
(ce qui correspond à ce que je te disais : sortir le Conn de ta fonction !! )

enfin bon, puisque tu as résolu ton problème...met toi "Réponse Acceptée".

A++ et bonne programmation

Nurgle
0
Rejoignez-nous