begin process at 2008 07 04 09:47:59
1 204 528 membres
70 nouveaux aujourd'hui
14 116 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ENcore un bug d^à une migration SQL 2000 à 2005 !!! [ SQL Server, MSDE, SQL Express / Migration ] (white_mage)

ENcore un bug d^à une migration SQL 2000 à 2005 !!! le 11/01/2007 15:43:51

white_mage

Bonjour à tous !!!

Me revoilà avec un bug bien tordu dû à une migration SQL server 2000 à SQL server 2005.
L'application posant problème est un composant ActiveX programmé à l'aide de VB6.

Le composant fonctionne à merveille sous SQL server 2000 mais malheureusement pas tout le temps sous SQL server 2005.

Je m'explique....

J'ai une procédure stockée.
Le code ouvrait le recordSet de cette procédure de cette manière
 
strSQL = "sp_... "
 rsOP.Open strSQL, goCnn, adOpenStatic, adLockReadOnly

Avec cela, ça ne fonctionnait absolument pas sous SQL server 2005. J'avais cru avoir réussi à corriger le bug en ouvrant le recordset de cette mannière (et en contournant le problème)
 rsOP.Open strSQL, goCnn, adOpenStatic, adLockBatchOptimistic

Là, ça fonctionnait presque dans toutes les situations. Je dis presque car dans certain cas, rebelotte. AUcun recordset valide n'est retourné.

Attendez le pire !!! Dans un cas comme dans l'autre, si je place une messagebox avant l'ouverture du recordset (par exemple, de cette mannière:)
 strSQL = "sp_... "
 msgbox strSQL
 rsOP.Open strSQL, goCnn, adOpenStatic, adLockReadOnly

Le code fonctionne à tous les coups !!!! Cela prouve bien qu'il est correct !

J'ai essayé pas mal de choses...sans résultat.

Une aide afin de comprendre la cause serait vraiment la bienvenue !!
Merci !

White_Mage();


Re : ENcore un bug d^à une migration SQL 2000 à 2005 !!! le 11/01/2007 17:19:54

white_mage
Réponse acceptée !
Une solution comme je les aime (aussi tordue que le problème)....

Après avoir cherché un moment, j'ai réussi à détérminer que ça n'était pas cette procédure qui posait problème mais celle qui était appelée juste après !!
L'erreur était "Incorrect syntax near 'END'" Une erreur classique SQL.

Le fait étrange est que lorsque j'appel la sp avec les même paramètre depuis SQL Manager. Elle passe sans aucun soucis....
Après réflexion, j'ai ajouté un deuxième saut de ligne entre la dernière instruction (un order by) et le END

ORDER

BY dbo.tblAttribuerOption.OrdreAffichage
END

Comme cela

ORDER

BY dbo.tblAttribuerOption.OrdreAffichage

END


Et maintenant, ça fonctionne à merveille !!! Vive MS !!
Et une après-midi de perdue....une !

Le plus étrange était quand-même le fait que si je mettait un msgbox au début de la fonction....le code fonctionnait a merveille ?!?!?!?!?....Je crois que je ne vais pas chercher à comprendre....

Voila.... A+++

White_Mage();


Re : ENcore un bug d^à une migration SQL 2000 à 2005 !!! le 11/01/2007 17:21:51

white_mage
Oups...le code est mal repri...COmme ça, c'est correct

ORDER BY dbo.tblAttribuerOption.OrdreAffichage

END

...

ORDER BY dbo.tblAttribuerOption.OrdreAffichage
END



White_Mage();


Re : ENcore un bug d^à une migration SQL 2000 à 2005 !!! le 11/01/2007 17:22:49

white_mage
Bon...j'arrive pas à formater correctement le code....mais on se comprend....

White_Mage();


Classé sous : recordset, sql, server, bug, strsql

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS