Chercher dans une view

Signaler
Messages postés
25
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
6 janvier 2010
-
Messages postés
1
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
5 juin 2007
-
Bonjour

je vis un problème de fou !
On vient de migrer une application ASP + SQl sur un serveur 2000 qui marchait bien vers un serveur avec Windows 2003 et un serveur SQl 2005

Une page affiche le résultat d'une view...

Je fais dans l'outil query de sql2005 un bête select * from maview, et le résultat est ok, mes 4 enregistrements s'affichent

Par contre en asp, c'est totalement débile, rien ne s'affiche, pas d'enregistrement trouvés, le EOF et le BOF sont True, ce qui signifie, je trouve rien (c'est faux en plus) et par contre le recordcount est de 4 (ca c'est juste) mais si le résultat est 4 pourquoi positionne t'il BOF et EOF à True !!??

J'ai essayé plusieurs chaînes de connexion et selon celle que j'utilise, j'ai toujours BOF et EOF True mais le recorcount est de 0 ou 4

Vous avez déjà vu cela ??

Amicalement
Patrci

5 réponses

Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Messages postés
25
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
6 janvier 2010

Bonjour,

Je sais pas ce que c'est "le mode d'isolation IIS 5" mais j'ai fini par trouver la cause ...

Lorsque je tape ma requête dans le query analyser de sql, le résultat s'affiche bien mais une fois mon mon code ASP cela ne marchait pas, il trouve le nombre d'enregistrements, mais les curseurs sont positionnés en dehors du recordset...
J'ai observé également que certaines vues fonctionnent sans problèmes ...
J'ai réécris ma vue en utilisant la nouvelle version sql, rien ne change
Finalement j'ai enlevé une par une mes jointures et là la query donne des résultats !
Je fais donc une jointure entre plusieurs tables, en précisant d'afficher tous les éléments de la table principale même si aucun enregistrement n'est commun aux deux tables, c'est cela qui ne marche pas ! Il ne tient pas compte de cela et si aucun enregistrement n'est commun, l'asp ne donne pas le recordset !

Patrick
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Messages postés
25
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
6 janvier 2010

Oui probablement mais pourquoi tout cela tournait bien sous sql2000 avec un serveur windows2000 et maintenant on tourne sur un windows2003 et sql2005 ...

Merci des tes propositions
Patrick
Messages postés
1
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
5 juin 2007

Salut, moi j'ai le même problème mais sans jointures :

rechercheIdentification = "SELECT * FROM table where username='"& login &"' and pass='"& password &"'"
 set rs=connectionToDatabase.execute(rechercheIdentification)

Plus loin je fait :

maVar = rs.fields(5)
response.write(maVar)

langageUsers = "SELECT reference,nom FROM table WHERE reference="& rs.fields(5) &";"
set langage = connectionToDatabase.execute(langageUsers)

le response.write retourne bien quelque chose, mais ensuite le rs.fields(5) se vide
la commande "langageUsers" retourne  SELECT reference,nom FROM table WHERE reference=

Si je passe par des var intermédiaire :

rs1 = rs.fields(1)
rs2 = rs.fields(2)
langageUsers = "SELECT reference,nom FROM PGM_langage WHERE reference="& rs1 &";"

set langage = connectionToDatabase.execute(langageUsers)

la ca marche 
fait ... de voir ca en fin de projet.
Si vous avez une idée comment régler slqserveur 2005.

Merci d'avance