RecordSet trop grand ...

cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004 - 20 nov. 2002 à 13:49
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004 - 21 nov. 2002 à 11:00
Bonjour,

j'ai un grave problème. J'interface une base de données SQL Server. Et dans ma requet principale, je peux récupèrer un grand nombre d'ID (+ de 10 000).
Et dans ce type de cas, je pars en TimeOut ou le script.timeout que l'on a d'imposé est depassé.

Y a-t-il donc une fonction en SQL qui permette de spécifier un nombre précis d'enregistremetn que l'on veut retourner ainsi que l'enregistrement de départ (cad avant le trnsfert des données par le drvers OLEDB)

Merci d'avance

C urgent urgent :S

Patrick

4 réponses

cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
20 nov. 2002 à 15:00
Tu n'as qu'a ouvrir la table de cette facon exemple pour recupérer 100 id
id_max = request("id_max")if (id_max) & "" "" then id_max 0
id_recupe = 0
id_courant = 0
set rs = serveur.createobject("ADODB.recordet")
while id_recupe < 100
id_max = id_max + 100
id_min = id_max-100
rs.open ("select * from ma_table where id>" & id_min & " AND id<" & id_max & ";", macon, 3,3
for i=id_min to id_min + 100
id_recupe = id_recupe + 1
%>
<%=rs("nom")%><%=rs("prenom")%>
if id_recupe = 100 then
id_courant = rs("id")
exit for
end if
next
rs.close
wend
set rs = nothing
0
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004
20 nov. 2002 à 15:24
après un brainstorming avec mes collègues ... on avait décidé de faire ca :s

Merci qd mm allez au boulot .. faut ke ca marche pour demain sinon on se fait enfiler .. gulp !!

Merci
0
Edcostn Messages postés 1 Date d'inscription lundi 21 octobre 2002 Statut Membre Dernière intervention 21 novembre 2002
21 nov. 2002 à 10:29
Sinon il y a la possibilité de faire la sélection directement dans la requète:

SELECT TOP 100 champs FROM table ORDER BY

voilà la sélection est faite avant le transfert.
ps: order by obligatoire
0
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004
21 nov. 2002 à 11:00
On a essayé, mais est-ce qu'il est possible ainsi de faire une sélection en plein milieu de la base ? car le TOP ne prends ke les 1e enregistrements.
0
Rejoignez-nous