Erreur 8007007f : ASP et SQL SERVEUR

Suite a la restoration ou a la mise a jour d'une machine , vous serez peut etre confronté a l'erreur suivante :

  • Erreur 8007007f

La raison est la non mise a jour de oledb.dll
Il vous suffit donc de recuperer OLEDB.DLL a partir de I386 et :

la copier dans C:\WINNT\system32\dllCache
la copier dans C:\Program Files\Fichiers Communs\System\OLE DB

Redemarrez le serveur .

nb : Si le probleme persiste, re-enregistrez via un REGSVR32 : Query.dll et Tquery.dll

 


Parametrage du Session LCID

Voici ci dessous la liste non exaustive des differents Session.LCID :

2048 Valeur par défaut <% Session.LCID = 2048%> 14/08/2009 10:08:11 
1078 Africain <% Session.LCID = 1078%> 2009/08/14 10:08:11 
1052 Albanais <% Session.LCID = 1052%> 2009-08-14 10:08:11 PD 
14337 Arabe - Emirats Arabes Unis <% Session.LCID = 14337%> Indispo 
15361 Arabe - Bahrain <% Session.LCID = 15361%> Indispo 
5121 Arabe - Algérie <% Session.LCID = 5121%> Indispo 
3073 Arabe - Egypte <% Session.LCID = 3073%> Indispo 
2049 Arabe - Irak <% Session.LCID = 2049%> Indispo 
11265 Arabe - Jordanie <% Session.LCID = 11265%> Indispo 
13313 Arabe - Kowéit <% Session.LCID = 13313%> Indispo 
12289 Arabe - Liban <% Session.LCID = 12289%> Indispo 
4097 Arabe - Libye <% Session.LCID = 4097%> Indispo 
6145 Arabe - Maroc <% Session.LCID = 6145%> Indispo 
8193 Arabe - Oman <% Session.LCID = 8193%> Indispo 
16385 Arabe - Qatar <% Session.LCID = 16385%> Indispo 
1025 Arabe - Arabie Saoudite <% Session.LCID = 1025%> Indispo 
10241 Arabe - Syrie <% Session.LCID = 10241%> Indispo 
7169 Arabe - Tunisie <% Session.LCID = 7169%> Indispo 
9217 Arabe - Yémen <% Session.LCID = 9217%> Indispo 
1067 Arménien <% Session.LCID = 1067%> Indispo 
1068 Azeri - Latin <% Session.LCID = 1068%> 14.08.2009 10:08:11 
2092 Azeri - Cyrillien <% Session.LCID = 2092%> 14.08.2009 10:08:11 
1069 Basque <% Session.LCID = 1069%> 2009/08/14 10:08:11 
1059 Belarusian <% Session.LCID = 1059%> 14.08.2009 10:08:11 
1026 Bulgare <% Session.LCID = 1026%> 14.8.2009 ?. 10:08:11 
1027 Catalan <% Session.LCID = 1027%> 14/08/2009 10:08:11 
2052 Chinois - Chine <% Session.LCID = 2052%> 2009-8-14 10:08:11 
3076 Chinois - Hong kong Sar <% Session.LCID = 3076%> 14/8/2009 10:08:11 
5124 Chinois - Macau Sar <% Session.LCID = 5124%> 14/8/2009 10:08:11 
4100 Chinois - Singapour <% Session.LCID = 4100%> 14/8/2009 AM 10:08:11 
1028 Chinois - Taiwan <% Session.LCID = 1028%> 2009/8/14 ?? 10:08:11 
1050 Croate <% Session.LCID = 1050%> 14.8.2009 10:08:11 
1029 Tchèque <% Session.LCID = 1029%> 14.8.2009 10:08:11 
1030 Danois <% Session.LCID = 1030%> 14-08-2009 10:08:11 
1043 Hollandais - Pays-Bas <% Session.LCID = 1043%> 14-8-2009 10:08:11 
2067 Hollandais - Belgique <% Session.LCID = 2067%> 14/08/2009 10:08:11 
3081 Anglais - Australie <% Session.LCID = 3081%> 14/08/2009 10:08:11 AM 
10249 Anglais - Belize <% Session.LCID = 10249%> 14/08/2009 10:08:11 AM 
4105 Anglais - Canada <% Session.LCID = 4105%> 14/08/2009 10:08:11 AM 
9225 Anglais - Caraïbes <% Session.LCID = 9225%> 08/14/2009 10:08:11 AM 
6153 Anglais - Irlande <% Session.LCID = 6153%> 14/08/2009 10:08:11 
8201 Anglais - Jamaïque <% Session.LCID = 8201%> 14/08/2009 10:08:11 AM 
5129 Anglais - Nouvelle Zélande <% Session.LCID = 5129%> 14/08/2009 10:08:11 a.m. 
13321 Anglais - Phillippines <% Session.LCID = 13321%> 8/14/2009 10:08:11 AM 
7177 Anglais - Afrique du Sud <% Session.LCID = 7177%> 2009/08/14 10:08:11 AM 
11273 Anglais - Trinidad <% Session.LCID = 11273%> 14/08/2009 10:08:11 AM 
2057 Anglais - Royaume-Uni <% Session.LCID = 2057%> 14/08/2009 10:08:11 
1033 Anglais - Etats-Unis <% Session.LCID = 1033%> 8/14/2009 10:08:11 AM 
1061 Estonien <% Session.LCID = 1061%> 14.08.2009 10:08:11 
1065 Farsi <% Session.LCID = 1065%> Indispo 
1035 Finlandais <% Session.LCID = 1035%> 14.8.2009 10:08:11 
1080 Féroïen <% Session.LCID = 1080%> 14-08-2009 10.08.11 
1036 Français - France <% Session.LCID = 1036%> 14/08/2009 10:08:11 
2060 Français - Belgique <% Session.LCID = 2060%> 14/08/2009 10:08:11 
3084 Français - Canada <% Session.LCID = 3084%> 2009-08-14 10:08:11 
5132 Français - Luxembourg <% Session.LCID = 5132%> 14/08/2009 10:08:11 
4108 Français - Suisse <% Session.LCID = 4108%> 14.08.2009 10:08:11 
2108 Gaélique - Irlande <% Session.LCID = 2108%> 14/08/2009 10:08:11 
1084 Gaélique - Ecosse <% Session.LCID = 1084%> Indispo 
1031 Allemand - Allemagne <% Session.LCID = 1031%> 14.08.2009 10:08:11 
3079 Allemand - Autriche <% Session.LCID = 3079%> 14.08.2009 10:08:11 
5127 Allemagne - Liechtenstein <% Session.LCID = 5127%> 14.08.2009 10:08:11 
4103 Allemand - Luxembourg <% Session.LCID = 4103%> 14.08.2009 10:08:11 
2055 Allemand - Suisse <% Session.LCID = 2055%> 14.08.2009 10:08:11 
1032 Grec <% Session.LCID = 1032%> 14/8/2009 10:08:11 pµ 
1037 Hébreu <% Session.LCID = 1037%> Indispo 
1081 Hindi <% Session.LCID = 1081%> Indispo 
1038 Hongrois <% Session.LCID = 1038%> 2009. 08. 14. 10:08:11 
1039 Islandais <% Session.LCID = 1039%> 14.8.2009 10:08:11 
1057 Indonésien <% Session.LCID = 1057%> 14/08/2009 10:08:11 
1040 Italien - Italie <% Session.LCID = 1040%> 14/08/2009 10.08.11 
2064 Italien - Suisse <% Session.LCID = 2064%> 14.08.2009 10:08:11 
1041 Japonais <% Session.LCID = 1041%> 2009/08/14 10:08:11 
1042 Coréen <% Session.LCID = 1042%> 2009-08-14 ?? 10:08:11 
1062 Letton <% Session.LCID = 1062%> 2009.08.14. 10:08:11 
1063 Lithuanien <% Session.LCID = 1063%> 2009.08.14 10:08:11 
1071 Macédonien de FYRO <% Session.LCID = 1071%> 14.08.2009 10:08:11 
1086 Malais - Malaisie <% Session.LCID = 1086%> 14/08/2009 10:08:11 
2110 Malais - Brunei <% Session.LCID = 2110%> 14/08/2009 10:08:11 
1082 Maltais <% Session.LCID = 1082%> 14/08/2009 10:08:11 
1102 Marathi <% Session.LCID = 1102%> Indispo 
1044 Norvégien - Bokmål <% Session.LCID = 1044%> 14.08.2009 10:08:11 
2068 Norvégien - Nynorsk <% Session.LCID = 2068%> 14.08.2009 10:08:11 
1045 Poli <% Session.LCID = 1045%> 2009-08-14 10:08:11 
2070 Portugais - Portugal <% Session.LCID = 2070%> 14-08-2009 10:08:11 
1046 Portugais - Brésil <% Session.LCID = 1046%> 14/8/2009 10:08:11 
1047 Raeto-Roman <% Session.LCID = 1047%> 14/08/2009 10:08:11 
1048 Roumain - Roumanie <% Session.LCID = 1048%> 14.08.2009 10:08:11 
2072 Roumain - Moldau <% Session.LCID = 2072%> Indispo 
1049 Russe <% Session.LCID = 1049%> 14.08.2009 10:08:11 
2073 Russe - Moldau <% Session.LCID = 2073%> Indispo 
1103 Sanskrit <% Session.LCID = 1103%> Indispo 
3098 Serbian - Cyrillien <% Session.LCID = 3098%> 14.8.2009 10:08:11 
2074 Serbian - Latin <% Session.LCID = 2074%> 14.8.2009 10:08:11 
1074 Setsuana <% Session.LCID = 1074%> 2009/08/14 10:08:11 AM 
1060 Slovène <% Session.LCID = 1060%> 14.8.2009 10:08:11 
1051 Slovaque <% Session.LCID = 1051%> 14. 8. 2009 10:08:11 
1070 Sorbian <% Session.LCID = 1070%> Indispo 
1034 Espagnol - Espagne <% Session.LCID = 1034%> 14/08/2009 10:08:11 
11274 Espagnol - Argentine <% Session.LCID = 11274%> 14/08/2009 10:08:11 a.m. 
16394 Espagnol - Bolivie <% Session.LCID = 16394%> 14/08/2009 10:08:11 a.m. 
13322 Espagnol - Chili <% Session.LCID = 13322%> 14-08-2009 10:08:11 
9226 Espagnol - Colombie <% Session.LCID = 9226%> 14/08/2009 10:08:11 a.m. 
5130 Espagnol - Costa Rica <% Session.LCID = 5130%> 14/08/2009 10:08:11 a.m. 
7178 Espagnol - République Dominicaine <% Session.LCID = 7178%> 14/08/2009 10:08:11 a.m. 
12298 Espagnol - Equateur <% Session.LCID = 12298%> 14/08/2009 10:08:11 
4106 Espagnol - Guatemala <% Session.LCID = 4106%> 14/08/2009 10:08:11 a.m. 
18442 Espagnol - Honduras <% Session.LCID = 18442%> 14/08/2009 10:08:11 a.m. 
2058 Espagnol - Mexique <% Session.LCID = 2058%> 14/08/2009 10:08:11 a.m. 
19466 Espagnol - Nicaragua <% Session.LCID = 19466%> 14/08/2009 10:08:11 a.m. 
6154 Espagnol - Panama <% Session.LCID = 6154%> 08/14/2009 10:08:11 a.m. 
10250 Espagnol - Pérou <% Session.LCID = 10250%> 14/08/2009 10:08:11 a.m. 
20490 Espagnol - Porto Rico <% Session.LCID = 20490%> 14/08/2009 10:08:11 a.m. 
15370 Espagnol - Paraguay <% Session.LCID = 15370%> 14/08/2009 10:08:11 a.m. 
17418 Espagnol - Salvador <% Session.LCID = 17418%> 14/08/2009 10:08:11 a.m. 
14346 Espagnol - Uruguay <% Session.LCID = 14346%> 14/08/2009 10:08:11 a.m. 
8202 Espagnol - Venezuela <% Session.LCID = 8202%> 14/08/2009 10:08:11 a.m. 
1072 Sutu <% Session.LCID = 1072%> Indispo 
1089 Swahili <% Session.LCID = 1089%> 8/14/2009 10:08:11 AM 
1053 Suédois - Suède <% Session.LCID = 1053%> 2009-08-14 10:08:11 
2077 Suédois - Finlande <% Session.LCID = 2077%> 14.8.2009 10:08:11 
1097 Tamil <% Session.LCID = 1097%> Indispo 
1092 Tatar <% Session.LCID = 1092%> 14.08.2009 10:08:11 
1054 thaï <% Session.LCID = 1054%> Indispo 
1055 Turque <% Session.LCID = 1055%> 14.08.2009 10:08:11 
1073 Tsonga <% Session.LCID = 1073%> Indispo 
1058 Ukrainien <% Session.LCID = 1058%> 14.08.2009 10:08:11 
1056 Urdu <% Session.LCID = 1056%> Indispo 
2115 Uzbek - Cyrillique <% Session.LCID = 2115%> 14.08.2009 10:08:11 
1091 Uzbek – Latin <% Session.LCID = 1091%> 14/08 2009 10:08:11 
1066 Vietnamien <% Session.LCID = 1066%> Indispo 
1076 Xhosa <% Session.LCID = 1076%> 2009/08/14 10:08:11 AM 
1085 Yiddish <% Session.LCID = 1085%> Indispo 


Publicité




Protéger une page en ASP

Nous allons vous montrer comment on peut protéger une page en demandant un identifiant et un mot de passe avant d’autoriser l’accès à la page.
Voici le script html à utiliser :

<html>
<head>
<title>Identification</title>
</head>
<body>
<br>
<p align=”center”><font size=4><strong>Veuillez entrer votre identifiant et votre mot de passe : </strong></font></p>
<br><br>
<form method=”POST” action=”script_9b.asp”>
<div align=”center”><center><p>Identifiant : <input type=”text”
name=”Identifiant” size=”20”></p>
</center></div><div align=”center”><center><p>Mot de passe : <input type=”text” name=”Passe” size=”20”> </p>
</center></div><div align=”center”><center><p><input type=”submit”
Value= ”Envoyer” name=”B1”></p>
 </center></div>
</form>
</body>
</html>

Voici le listing ASP

<%Identification = Request.Form(“Identification”)
Passe = Request.Form(“passe“)
If Identification <> “net“ AND passe <> “linea“ Then
Response.Redirect  “script_9a.html“
End If
%>
<html>
<head>
<title>Page protégée</title>
</head>
<body>
<br><br>
<p align=”center”><strong>Le contenu de cette page est protégé par un mot de passe.</strong></p>
</body>
</html>

Utilisation du Custom Web Control développé

Il existe 2 méthodes d'utilisation du custom web control :

- Par la page ASPX
- Par le Code Behind
Voyons comment on utilise chacune de ces méthodes.
Dans la page ASPX (ou ASCX) :
Entrez le code suivant :
<%@ Register
TagPrefix="cc1"
Namespace="LeNamSpace"
Assembly="LeNomDuProjet" %>
....
<cc1:FabWebControl
id="FabWebControl1"
runat="server"
SousTitreEntete="Sous Titre 2"
TitreEntete="Titre 2"
CommentaireTitreEntete="Commentaire 2"
URLImageEntete="./images/information.gif">
</cc1:FabWebControl>
....
%>
Le référencement du Custom Web Control nécessite de fournir le Nom du NameSpace de la classe (s'il n'est pas définit, il faut fournir le nom du projet) ainsi que le nom de l'Assembly (c'est à dire le nom de la DLL). Les propriétés sont alors accessibles directement dans Visual Studio.NET dans la partie des propriétés.

Afficher une image provenant d’une base de données

Commencez par enregistrer vos images sous forme binaire dans un champ blob, et crée un fichier show_image.asp  qui va s'occuper d'afficher les données binaires.

Il faut préciser dans ce fichier quel type de contenu doit être envoyé au navigateur avec la propriété ContentType de l'objet Response et écrire les données binaires avec la méthode BinaryWrite de ce même objet.

Par exemple, on possède une table images avec les colonnes suivantes :

   -  id_image entier auto_incrémenté => permet d'identifier de façon unique une image
   -  bin_image blob => va contenir les données binaires de l'image
   -  type_image texte => va contenir le type de l'image (image/gif, image/jpeg, image/png)

La  procédure d'affichage va s'effectuer dans 2 fichiers :
Le premier fichier est le document affiché à l'écran et le deuxième s'occupe du renvoi de l'image au document.

Upload de fichiers

On utilise un formulaire  pour permettre aux  visiteurs de sélectionner un fichier  à uploader.
Voici les codes qu’il faudra rédiger :

Tout  d’abord commençons par le formulaire

<FORM METHOD="POST"
      ENCTYPE="multipart/form-data">
   <INPUT TYPE=FILE NAME="userfile"><BR>
   <INPUT TYPE=SUBMIT
      value="Enregistrer le fichier">
</FORM>

Pour écrire le code ASP il faut au préalable s’assurer que le composant AspSmartUpLoad est installé sur le serveur

Publicité




Se connecter à une base Access sans utiliser ODBC

Voici un exemple de script pour se connecter à une base Access sans utiliser ODBC

<%

Set Conn = Server.CreateObjet(“ ADODB.Connection ”)

Path = “ ” & Server.Mappath(“base.mdb”)

Conn.open “driver={Microsoft Access Driver  (* .mdb)};DBQ=”&path

Sql = “SELECT * FROM table”

Set CB=Conn.Execute(sql)

%>



‘ code script utilisant la connexion à la base



<%

CB.close

Set CB=Nothing

%>

Pour que ce script marche, il faut penser à paramétrer path en indiquant, si nécessaire, le chemin de la base entre les guillemets et en remplaçant « base.mdb » par le nom de votre base Access. Ensuite il suffit de créer une requête SQL avec la variable sql.

Lecture de cookies

Pour lire un cookie, on fait appel à l’objet ASP Request

Voici le code du script qui va permettre de lire notre premier cookie « langue » :

Langue_utilisateur  = Request.cookies(” langue ”)
Pour lire les différentes variables de notre deuxième cookie, on utilisera les commandes suivantes :
Article_client_1 = Request.Cookies(”panier ”)( ”article1 ”)
Article_client_2 = Request.Cookies(” panier ”)(” article2 ”)
Article_client_3 = Request.Cookies(”panier ”)(” article3 ”)

Voici maintenant un petit script qui permet de récupérer tous les cookies à variable unique (dans la mesure où ils ont été déposés par le même site Web).

<% For Each cookie in Request.cookies %>
<%=”Cookie : “ & cookie & “ : “ & Request.Cookies(cookie)%><br>
<%  Next  %>

Voici un deuxième module permettant de lire tous les cookies y compris ceux à variables multiples si nécessaire.

<%
For each cookie in Request.Cookies
If Request.Cookie(cookie).haskeys Then
For Each varcookie in Request.cookies(cookie)
%>
Variable de cookie: <%=cookie%> (<%=varcookie%>)
: <%=Request.Cookies(cookie) (varcookie)%><br><%
End If
Next
%>


Protèger une page en ASP

Nous allons vous montrer comment on peut protéger sa page web en demandant une autorisation d’accès à la page par un identifiant et un mot de passe avant connexion.

Voici le script html à utiliser :

<html>
<head>
<title>Identification</title>
</head>
<body>
<br>
<p align=”center”><font size=4><strong>Veuillez enter votre identifiant et votre mot de passe : </strong></font></p>
<br><br>
<form method=”POST” action=”script_9b.asp”>
<div align=”center”><center><p>Identifiant : <input type=”text”
name=”Identifiant” size=”20”></p>
</center></div><div align=”center”><center><p>Mot de passe : <input type=”text” name=”Passe” size=”20”> </p>
</center></div><div align=”center”><center><p><input type=”submit”
Value= ”Envoyer” name=”B1”></p>
 </center></div>
</form>
</body>
</html>

Voici le listing ASP

<%Identification = Request.Form(“Identification”)
Passe = Request.Form(“passe“)
If Identification <> “net“ AND passe <> “linea“ Then
Response.Redirect  “script_9a.html“
End If
%>

Téléchargement asp

En Asp, Il est possible d’emmener un fichier à se télécharger rapidement en agissant sur l’entête envoyé au navigateur. L’objet « stream » se charge d’envoyer le contenu du fichier au navigateur.

Voici le code à utiliser :

<%
Dim Stream
   
Dim ContenuFichier
   
Dim NomFichier
  
NomFichier = request("fichier")
   
if trim(NomFichier)<>"" then
     
Response.ContentType = "application/octet-stream"
     
Response.AddHeader "content-disposition", "attachment; filename=" & NomFichier
     
Set Stream = server.CreateObject("ADODB.Stream")
     
Stream.Open
     
Stream.LoadFromFile Server.MapPath(NomFichier)
     
ContenuFichier = Stream.ReadText
     
Response.BinaryWrite ContenuFichier
     
Stream.Close
     
Set Stream = Nothing
   
end if

%>