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 19/06/2006, 17h22   #1
Nouveau Membre du Club
 
Étudiant
Inscription : août 2002
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2002
Messages : 44
Points : 27
Points : 27
Par défaut [ASP][SQL]Ce pilote ODBC ne prend pas en charge les propriétés demandées

Bonjour,

Je bloque depuis un moment sur un problème assez bizarre.
J'ai une page asp pour la connexion a ma base :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<%
' Déclaration des variables
Dim strConnect
Dim MM_Connexion_STRING 
 
' Chaine de connexion
strConnect = "Driver={Microsoft Access Driver (*.mdb)};" _
& "DBQ=" & Server.MapPath("Base/indicateurs.mdb") 
 
'Ouverture de la connexion
Set MM_Connexion_STRING = Server.createObject("ADODB.Connection")
MM_Connexion_STRING.Open strConnect
%>
Je l'include au début d'une autre page qui doit acéder à la base de données :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!--#include file="Connections/Connexion.asp" -->
 
<%
Dim sql
Dim req
 
sql = "SELECT COUNT(SiteName) FROM SITES"
 
Set req = Server.CreateObject("ADODB.Recordset")
req.ActiveConnection = MM_Connexion_STRING
req.Source = sql
req.CursorType = 1
req.CursorLocation = 2
req.LockType = 1
req.Open()
%>
Mais cette requête toute basique qui passe très bien sous Access me sort une erreur :
Code :
1
2
3
Microsoft OLE DB Provider for ODBC Drivers error '80040e21' 
 
Ce pilote ODBC ne prend pas en charge les propriétés demandées.
Quelqu'un aurait une petite idée ?
Merci d'avance
Magicmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 20h34   #2
Membre actif
 
Avatar de ahage4x4
 
Inscription : janvier 2005
Messages : 321
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 321
Points : 195
Points : 195
Il faut declarer les variables ADOVBS soit en faisant une recherche sur ADOVBS (http://www.asp101.com/articles/john/adovbs/default.asp) copier les variable dans un fichier include et de l'inclure dans tes pages de connection sinon plus simple si tu as un fichier global.asa tu ajoutes cette ligne au debut de ton fichier global.asa

Comme ca:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!-- METADATA TYPE="typelib" FILE="C:\Program Files\Fichiers communs\System\ado\msado15.dll"-->
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 
Sub Application_OnStart 
application("activevisitors")=0
application("maxactivevisitors")=0 
End Sub 

Sub Application_OnEnd 
End Sub 

Sub Session_OnStart 
session("LastUrl")=""
Session("keyword")=""

End Sub 

Sub Session_OnEnd 

End Sub 

</SCRIPT>
Je crois que ca marchera comme ca.
ahage4x4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 20h37   #3
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

A première vue, je dirais que le cursorType que tu as sélectionné (adOpenKeyset) n'est pas le plus approprié pour faire un COUNT.

J'essaierais avec une cursorType adOpenStatic (req.CursorType = 3) qui me semble mieux convenir à un COUNT, mais bon, c'est juste une idée comme ça.

Ryan
Rencontre du troisèime type...
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 21h20   #4
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Voici la liste des curseurs qui renvoi le nombre d'enregistrements avec
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 23h48   #5
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
'Soir Immobilis!

Tu t'exprimes par ellipses...
Quelle est ta conclusion? Qu'il vaut mieux un cursor de type 3?

Ryan
Quelque part sur le plan de l'ecliptique.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 10h13   #6
Nouveau Membre du Club
 
Étudiant
Inscription : août 2002
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2002
Messages : 44
Points : 27
Points : 27
Merci à tous de vos réponses. J'ai donc suivi vos conseils :
1- J'ai inclus un fichier adovbs.inc
2- J'ai changé l'accès en Location 3, Type 3, Lock 1

Malheureusement, nouvelle erreur :
Code :
1
2
3
Microsoft OLE DB Provider for ODBC Drivers error '80040e10' 
 
[Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.
pointant toujours sur ma ligne :
Je continue mon debuggage, si une idée vous viens...
Magicmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 11h12   #7
Nouveau Membre du Club
 
Étudiant
Inscription : août 2002
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2002
Messages : 44
Points : 27
Points : 27
Autant pour moi, en faisant les modifs j'avais effacé un caractère de mon nom de champ donc ca ne pouvait plus marcher...

Merci, bcp à tous
Magicmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 14h14   #8
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Citation:
Envoyé par ryan
Tu t'exprimes par ellipses...
Quelle est ta conclusion? Qu'il vaut mieux un cursor de type 3?
Perso, pour la lecture de données, j'utilise
Code :
1
2
3
rs.CursorLocation = 3
rs.CursorType = 0
rs.LockType = 1
C'est le plus rapide. Après chacun fait comme il veut.
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 16h54   #9
Nouveau Membre du Club
 
Étudiant
Inscription : août 2002
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2002
Messages : 44
Points : 27
Points : 27
Citation:
Envoyé par Immobilis
Perso, pour la lecture de données, j'utilise
Code :
1
2
3
rs.CursorLocation = 3
rs.CursorType = 0
rs.LockType = 1
C'est le plus rapide. Après chacun fait comme il veut.
Selon le tableau que tu as donné plus haut, quand tu demandes un 3,0,1 tu obtiens un 3,3,1. Comment ca se fait que le 3,0,1 soit plus rapide ?
Magicmax 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 04h03.


 
 
 
 
Partenaires

Hébergement Web