white_mage
Messages postés47Date d'inscriptionjeudi 5 février 2004StatutMembreDernière intervention25 février 2010
-
11 janv. 2007 à 15:43
white_mage
Messages postés47Date d'inscriptionjeudi 5 février 2004StatutMembreDernière intervention25 février 2010
-
11 janv. 2007 à 17:22
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
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:)
white_mage
Messages postés47Date d'inscriptionjeudi 5 février 2004StatutMembreDernière intervention25 février 2010 11 janv. 2007 à 17:19
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....