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 29/06/2011, 10h37   #1
Membre actif
 
Avatar de Emyleen
 
Femme Emeline Dabée
Webmaster
Inscription : mars 2010
Messages : 136
Détails du profil
Informations personnelles :
Nom : Femme Emeline Dabée
Âge : 26
Localisation : France, Aveyron (Midi Pyrénées)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2010
Messages : 136
Points : 171
Points : 171
Par défaut Interprétation d'un code asp sous IIS

Bonjour,

Je viens à vous car je dois repprendre un site fait en asp, ne connaissant pas du tout cette technologie j'ai du mal à comprendre le fonctionnement relatif à la base de données.

Quelqu'un pourrait-il m'expliciter le code suivant?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
 
Sub Application_OnStart
 
	Application("gConnectionString") = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SPI_Provider;Data Source=SRV-SQL\SQL2000"
 
	Application("SiteNet")		     = "PC-Emeline/ProdManager.net"	
	Application("SiteUsine")		 = "PII550/BaseUsine"	
End Sub
 
Sub Session_OnStart
	dim sessionCnStr
	dim sessionCn
	sessionCnStr = Application("gConnectionString")
	set sessionCn = server.CreateObject("adodb.connection")
	'CursorLocation sur client
	sessionCn.CursorLocation = 3
	sessionCn.Open sessionCnStr
	Session("cn") = sessionCn
	Session("Lien") =""
End Sub
 
</SCRIPT>
Je comprend bien que c'est le fichier qui me sert à me connecter à la base de données, cependant quand j'exécute mon fichier dans un navigateur j'obtiens la phrase suivante :

Code :
1
2
3
An error occurred on the server when processing the URL. Please contact the system administrator.
 
If you are the system administrator please click here to find out more about this error.
Et là je suis complètement paumée...

Quelqu'un qui comprendrait ce code pourrait-il me l'expliquer?

Merci d'avance

P.S. : Je veux juste réussir à faire re-fonctionner ce site afin de comprendre comment il fonctionne et le remettre au gout du jour (avec des commentaires et de la documentation >_<)
Emyleen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 10h52   #2
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 363
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 363
Points : 1 546
Points : 1 546
Bonjour

1/ Il faut paramétrer ton serveur pour qu'il émette des messages d'erreurs détaillés (ça se configure dans la console d'administration IIS) : Tes messages d'erreurs seront plus explicites.

2/ Le code que tu nous montre est le global.asa. Ce n'est pas un script "exécutable", mais il contient des méthodes qui sont exécutées selon différents événements.

Citation:
Sub Application_OnStart
Ce code est exécuté au démarrage de l'application, c'est à dire lors de la première requête envoyée au site. Il défini effectivement une variable qui est la chaîne de connexion à la base de données.
Code :
Application("quelquechose")
Cette variable à la même durée de vie que l'application.

Par contre Session_OnStart est appelé au démarrage de chaque session.

En l'occurrence, ton code ouvre une connexion à la base de données dés le début de la session.

Entre nous, cette façon d'ouvrir une connexion par session n'est peut-être pas le meilleurs choix.

what else ?
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 11h08   #3
Membre actif
 
Avatar de Emyleen
 
Femme Emeline Dabée
Webmaster
Inscription : mars 2010
Messages : 136
Détails du profil
Informations personnelles :
Nom : Femme Emeline Dabée
Âge : 26
Localisation : France, Aveyron (Midi Pyrénées)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2010
Messages : 136
Points : 171
Points : 171
Merci roro06 d'avoir répondu aussi rapidement

Donc si j'ai bien compris,
Code :
Application("gConnectionString")
est une variable locale à l'application. OK, drôle de langage mais j'ai compris la façon d'écrire.

Ce qui m'embrouille c'est la valeur de cette variable :
Code :
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SPI_Provider;Data Source=SRV-SQL\SQL2000"
Que veulent dire chacun des termes?

Car apparemment c'est cette variable que j'ouvre dans mon Session.Open, donc ce serait là la source de mon problème de connexion.

En fait je n'arrives pas à me connecter à ma base de données ni même au serveur car lorsque j'ouvre une de mes pages asp dans un navigateur, le VBScript n'est pas interprété, du coup ça ne fonctionne pas et j'ai tout pleins d'erreurs HTML. Je vais voir avec un admin réseau, car je suis nulle dans ce domaine

EDIT : Après trifouillage au niveau de IIS, je n'arrive toujours à rien, je n'ai aucune interprétation du code VBScript et donc une erreur quand je charge cette page :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="../_StyleSheets/ProdManager.css">
<!--#include file="..\include\Validation.inc" -->
<!--#include file="..\include\SPILibrary.inc" -->
<% 	
	Response.Expires = -1 
	Response.Buffer = True
%>
<script id=clientEventHandlersJS language=javascript>
</script>
</head>
<%'/////////////////// SpiNet_F004 ////////////////////
	Dim cn
	dim cmWebUsers
	Dim rsWebUsers
	dim cmWebSession
	dim cmCliRev
	dim rsCliRev
 
	dim bRevendeur
	dim bAdmin
 
	dim cmClients
	Dim rsClients
	Dim sUsername
	Dim sPassword
	Dim sDevisNomClient
	Dim cmWebtmpDevisEntete
	Dim cmWebtmpDevisDetail
	Dim sSQLWhere
	Dim sCodeCli
 
	set cn = server.CreateObject("adodb.connection")
	cn = session("cn")
 
	sUserId = Request.Form("txtUsername")
	sPassword = Request.Form("txtPassword")
	Session("UserId") = sUserId
	Session("Password") = sPassword
 
	Set cmWebUsers = Server.CreateObject("adodb.command")
	set rsWebUsers = server.CreateObject("adodb.recordset")
	cmWebUsers.ActiveConnection = cn
	cmWebUsers.CommandType = adCmdStoredProc		
	cmWebUsers.CommandText = "spinet_F004_S001"
	cmWebUsers.Parameters.Refresh 
	cmWebUsers.Parameters("@sUserId").Value = sUserId
	Set rsWebUsers = cmWebUsers.Execute
 
	If not ((rsWebUsers.BOF) and (rsWebUsers.EOF)) then
		If sPassword = rsWebUsers.Fields("UserPassword").Value Then
 
			'Recherche des paramètres généraux
			Set cmGeneral = Server.CreateObject("adodb.command")
			set rsGeneral = server.CreateObject("adodb.recordset")
			cmGeneral.ActiveConnection = cn
			cmGeneral.CommandType = adCmdStoredProc		
			cmGeneral.CommandText = "spinet_F004_S002"
			Set rsGeneral = cmGeneral.Execute
 
			'Nous avons une session valide
			Session("ConnexionOK")		= 1 'Code dans Spilibrary qui a besoin d'être connecté
			Session("TableauDevises")	= 0 'Code dans Spilibrary qui doit être exécuté 1 seule fois
 
			Session("IdClient")			= rsWebUsers.Fields("IdClient")
			Session("UserCode")			= rsWebUsers.Fields("UserCode")
			Session("idLangue")			= rsWebUsers.Fields("IdLangue")
			Session("ProTarifOnly")		= rsGeneral.Fields("ProTarif")
			Session("StartWRDO")		= rsGeneral.Fields("StartWRDO")
			Session("StartWRDC")		= rsGeneral.Fields("StartWRDC")
			if len(rsGeneral.Fields("NbreDecimaleMontant")) <> 0 then
				Session("Decimale")		= rsGeneral.Fields("NbreDecimaleMontant")
			else
				Session("Decimale")		= 2
			end if
			Session("BloqueLivraison")	= rsGeneral.Fields("BloqueLivraison")
			Session("BloqueFacturation")= rsGeneral.Fields("BloqueFacturation")
			Session("BloqueDesignation")= rsGeneral.Fields("BloqueDesignation")
			Session("BloqueCollection") = rsGeneral.Fields("BloqueCollection")
			Session("BloqueClasse")		= rsGeneral.Fields("BloqueClasse")
			Session("BloquePrixUni")	= rsGeneral.Fields("BloquePrixUni")
			Session("BloqueRemiseLigne")= rsGeneral.Fields("BloqueRemiseLigne")
			Session("BloqueTarifLigne") = rsGeneral.Fields("BloqueTarifLigne")
			Session("BloqueRemiseDoc")	= rsGeneral.Fields("BloqueRemiseDoc")
			Session("CodeTVA")			= rsGeneral.Fields("CodeTVA")
			Session("CodeTPFA")			= rsGeneral.Fields("CodeTPFA")
			Session("TVA")				= rsGeneral.Fields("TVA")
			Session("TPFA")				= rsGeneral.Fields("TPFA")
 
			sIdClient = Session("IdClient")
 
			set cmWebSession = Server.CreateObject("adodb.command")
			cmWebSession.ActiveConnection = cn
			cmWebSession.CommandType = adCmdStoredProc	
			cmWebSession.CommandText = "spinet_F004_U001"			
			cmWebSession.Parameters("@sIdClient").Value = sIdClient				
			cmWebSession.Execute
 
			Session("SessionId") = Session.SessionID 
 
			cmWebSession.CommandText = "spinet_F004_U002"			
			cmWebSession.Parameters("@sSessionId").Value = Session("SessionId")
			cmWebSession.Parameters("@sIdClient").Value = sIdClient				
			cmWebSession.Execute 
 
			'Libération de tous les devis en cours depuis + de 3 heures
			set cmLiberationDoc = server.CreateObject("adodb.command")	
			cmLiberationDoc.ActiveConnection = cn
			cmLiberationDoc.CommandType = adCmdStoredProc							
			cmLiberationDoc.CommandText = "Spinet_F004_U003"
			cmLiberationDoc.Execute	
 
			bRevendeur = false
			bAdmin     = false
			bClient    = false
 
			if rsWebUsers.Fields("CliType") = 1 then
				'Revendeur
				bRevendeur = true
			end if					
 
			if rsWebUsers.Fields("CliType") = 2 then
				'Admin
				bAdmin = true
			end if	
 
			if rsWebUsers.Fields("CliType") = 0 then
				'AClient
				bClient = true
			end if								
 
			rsWebUsers.Close
			set rsWebUsers = Nothing
			set cmWebtmpDevisEntete = Nothing
			set cmWebtmpDevisDetail = Nothing
 
			'Devise W
			Set cmDevise = Server.CreateObject("adodb.command")
			Set rsDevise = Server.CreateObject("adodb.recordset")	
			cmDevise.ActiveConnection = cn
			cmDevise.CommandType = adCmdStoredProc		
			cmDevise.CommandText = "spinet_F000_S005"
			'Select * From General
			Set rsDevise = cmDevise.Execute
			Session("DeviseW") = rsDevise.Fields("IdDeviseGeneral")
			'Session("SymboleW") = rsDevise.Fields("Symbole")
 
			if bAdmin then
				Session("IdComm")   = Session("IdClient")				
				Session("IdClient") = ""
				Session("UserType") = 2
				'Purge des tables tmp
				set cmWebtmpDevis = server.CreateObject("adodb.command")
				cmWebtmpDevis.ActiveConnection = cn
				cmWebtmpDevis.CommandType = adCmdStoredProc	
				cmWebtmpDevis.CommandText = "Spinet_F004_D002"	
				cmWebtmpDevis.Parameters.Refresh 		
				cmWebtmpDevis.Parameters("@sIdClient").Value	= Session("IdComm")
				cmWebtmpDevis.Parameters("@iType").Value		= 2
				cmWebtmpDevis.Execute					
			end if
 
			if bRevendeur then
				Session("IdComm") = Session("IdClient")				
				Session("IdClient") = ""
				Session("UserType") = 1
				'Purge des tables tmp
				set cmWebtmpDevis = server.CreateObject("adodb.command")
				cmWebtmpDevis.ActiveConnection = cn
				cmWebtmpDevis.CommandType = adCmdStoredProc	
				cmWebtmpDevis.CommandText = "Spinet_F004_D002"	
				cmWebtmpDevis.Parameters.Refresh 		
				cmWebtmpDevis.Parameters("@sIdClient").Value	= Session("IdComm")
				cmWebtmpDevis.Parameters("@iType").Value		= 1
				cmWebtmpDevis.Execute	
			end if
 
			if bClient then
			    'Purge des tables tmp
				set cmWebtmpDevis = server.CreateObject("adodb.command")
				cmWebtmpDevis.ActiveConnection = cn
				cmWebtmpDevis.CommandType = adCmdStoredProc	
				cmWebtmpDevis.CommandText = "Spinet_F004_D002"	
				cmWebtmpDevis.Parameters.Refresh 		
				cmWebtmpDevis.Parameters("@sIdClient").Value	= Session("IdClient")			
				cmWebtmpDevis.Parameters("@iType").Value		= 0
				cmWebtmpDevis.Execute	
				Session("IdComm") = ""
				Session("UserType") = 0
			end if
			Response.Redirect "../fMenu/fMenu.asp"
		End If
	End If
	Response.Redirect "../Default.asp?M=01"	
 
 
%> 
<body>
</body>
</html>
Quelqu'un pourrait-il éclairer ma lanterne? Merci
Emyleen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h32.


 
 
 
 
Partenaires

Hébergement Web