Connection bdd impossible dans un include [Résolu]

Signaler
Messages postés
66
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
15 janvier 2008
-
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
-
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

Messages postés
66
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
15 janvier 2008

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
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Tu n'arrives pas, c'est à dire ? Tu as un message d'erreur ?
Comment inclus-tu le fichier dans ta page ?

Nurgle
Messages postés
66
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
15 janvier 2008

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.
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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
Messages postés
66
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
15 janvier 2008

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
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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
Messages postés
66
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
15 janvier 2008

j'appele ma fonction connecter dans ma page asp
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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
Messages postés
66
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
15 janvier 2008

mon include il est tout au debut de ma page asp
les autres fonction marche mais celle de la base de donnée
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
(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