Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2007, 11h09   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 0
Points : 0
Par défaut Connecter une base avec DSN

Bonjour,

j'ai un soucis de connexion à une base de données avec DSN, j'ai le message d'erreur suivant :

"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request."

Voici le script de connexion :

Code :
1
2
3
4
5
6
 
<%
Set conn=Server.CreateObject("adodb.connection")
DSN="DSN=[nomdeconnexion];"
conn.open DSN
%>
Merci pour votre aide
fquen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2007, 14h00   #2
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 44
Points : 35
Points : 35
Bonjour.

As tu bien pensé à effectuer le réglage suivant avant :
Vas dans Panneau de configuration > Sources de donnees ODBC > Onglet DSN systeme (sources de données système) > Ajouter > Driver Microsoft Access Driver (*.mdb)
Sélectionner la base de donnée
Nom de la source : ma_base

Code :
1
2
3
4
5
6
<%
' Création de l'objet permettant la connexion
Set Conn = Server.CreateObject("ADODB.Connection")
' Connexion à la base de donnée
Conn.Open "ma_base"
%>
fabien.c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 17h12   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 0
Points : 0
Bonjour,

en fait la connexion se fait parfaitement sur un serveur IIs en local, mon pb, c'est quand j'upload le tout sur un espace mutualisé cela ne fonctionne plus, le système de connexion semble etre différent et faire appel à une connexion ODBC DSN.

En local j'utilise ce script de connexion qui fonctionne normalement :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%
dim conn,db
dim connstr
db="Database/ma_base.mdb"
on error resume next
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
if err then
err.clear
else
conn.open connstr
end if
sub CloseConn()
	conn.close
	set conn=nothing
end sub
%>
et vu que je suis loin de maitriser asp/connexion bdd, je suis bien embeté...

Souhaitant trouver une réponse rapidement je vous remercie pour votre aide.
fquen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 08h41   #4
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 44
Points : 35
Points : 35
Bonjour,

l'ODB a bien été créé avec le même nom sur le serveur où tu upload tes sources ?
fabien.c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 09h59   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 0
Points : 0
Bonjour,

le lien ODBC a effectivement été créé avec le meme nom sur le serveur distant (Espace mutualisé Amen) et la connexion se fait normalement ("Connexion réussie"), seulement les informations de la bdd ne s'affichent pas. Le pb proviendrait-il du script de connexion utilisé ? Y'a-t-il une possibilité pour tester la connexion et l'extraction des données contenues dans la base ?

Merci
fquen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 11h25   #6
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
Bonjour

1/ Une des premières choses à faire, c'est de virer le on error resume next, comme ça si tu as une erreur, il te l'affiche

2/
server.mappath(""&db&"")

Tu peux faire directement :
server.mappath(db)
3/ err n'est pas defini ? Je pense que l'erreur est là
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 11h40   #7
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 0
Points : 0
Bonjour,

j'ai fais comme tu as dit, du coup je retombe sur le message d'erreur suivant :

500 Internal Server Error

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%
dim conn,db
dim connstr
db="Database/ma_base.mdb"
 
connstr="DBQ="+server.mappath(db)+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
if err then
err.clear
else
conn.open connstr
end if
sub CloseConn()
	conn.close
	set conn=nothing
end sub
%>
Alors qu'avant il m'affichait les pages sans les infos de la bdd ?

Comment définir "err" ?

Pour info le site fonctionne parfaitement en local sur serveur iiS

merci
fquen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 12h21   #8
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
ben ce qui se passe avec on error resume next, c'est que si ton serveur rencontre une erreur, il s'en fout, il passe a la suite. Sans cette commande, il s'arrete. C'est pour ca qu'avec, il t'affiche ta page, et sans, il s'arrete pour te donner le message d'erreur. En débogage, il ne faut jamais jamais jamais jamais (je l'ai peut-etre déjà dit) le mettre, pour justement avoir les messages d'erreur. Et en prod, si on est obligé de le mettre, c'est qu'on a mal écrit sa page (je plaisante, ya des fois c'est utile)

si err ne te sert pas : vire-le

si une connexion ODBC a été configurée sur le serveur (de la manière donnée par fabien.c), utilises-la.
donc utiliser le code :
Code :
1
2
3
Set conn=Server.CreateObject("adodb.connection")
DSN="DSN=[nomdeconnexion];"
conn.open DSN
et ce indifferement en developpement sur ton poste ou en prod sur ton serveur

PS : cette erreur 500 est donnée souvent et peut avoir de multiple causes, la première chose à contrôler est les droits sur le repertoire Database, l'utilisateur IWAM_nom_de_la_Machine doit avoir les droits d'écriture sur ce repertoire
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 15h27   #9
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 0
Points : 0
comme je l'ai signalé j'utilise une connexion ODBC sur le serveur distant avec le script de connexion qui va bien :

Code :
1
2
3
Set conn=Server.CreateObject("adodb.connection")
DSN="mabase;"
conn.open DSN
les droits d'écriture sur le répertoire de la base sont OK

l'option "Afficher les messages d'erreurs simplifiés" est décoché dans les options internet

ca n'a rien changé... je désespère...
fquen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 16h30   #10
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
Ca doit être plutot :
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 16h34   #11
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 0
Points : 0
oui c'est bien ca :

Code :
1
2
3
4
5
<%
Set conn=Server.CreateObject("adodb.connection")
DSN="DSN=[mabase];"
conn.open DSN
%>
fquen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 20h07   #12
Invité de passage
 
Inscription : octobre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 8
Points : 0
Points : 0
voici le script de connexion que fourni Amen pour le cas présent, quelqu'un peut m'expliquer ?

Exemple d'un script de connexion avec le DSN précédemment créé (généré sous Dreamweaver pour l'exemple) :

Créez une page ASP avec le code suivant :

Code :
1
2
3
4
5
6
7
8
<%
// FileName="Connection_odbc_conn_dsn.htm"
// Type="ADO"
// HTTP="false"
// Catalog=""
// Schema=""
var MM_connTest_STRING = "dsn=testdsn;"
%>

nommez cette page pour l'exemple :
connTest.asp
et placez la au même niveau que vos scripts ASP.


Au tout début de vos pages ASP contenant des appels à votre base, placez y le code exemple suivant :
Code :
1
2
3
4
5
6
7
8
9
10
<%
var cours = Server.CreateObject("ADODB.Recordset");
cours.ActiveConnection = MM_connTest_STRING;
cours.Source = "SELECT * FROM cours ORDER BY periode ASC";
cours.CursorType = 0;
cours.CursorLocation = 2;
cours.LockType = 3;
cours.Open();
var cours_numRows = 0;
%>
cours correspondant au nom du formulaire contenant les requêtes SQL dans l'exemple.

Vous trouverez de nombreux exemples sur des sites spécialisés sur les scripts ASP / Access.
fquen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h37.


 
 
 
 
Partenaires

Hébergement Web