Comportement étrange de la chaîne de requête
-
02-01-2020 - |
Question
CF Laisser la chaîne de requête soit sur plusieurs lignes.Donc, j'ai eu ma chaîne de requête stockée dans une variable dans plusieurs lignes comme
var strSQL="select
a.col1,
a.col2,
b.col3,
b.col4,
CASE WHEN Some_XYZ>0.1 THEN 'Y' ELSE 'N' END as kStatus
FROM (A_Derived_Table)
";
Il s'agit d'une partie de l'API de repos et de la requête prendra une fois de trop longtemps ou de temps après (le service API ne renvoie pas les résultats).J'ai beaucoup d'autres questions écrites de la même manière pour des raisons de lisibilité et n'avaient jamais eu de problème avec eux. Dans SQL Server la même requête fonctionne sous une seconde. Lorsque j'ai modifié API et renvoyé le SQL généré, j'ai remarqué beaucoup de \ t (onglet) étant ajouté à SQL String.J'ai changé la chaîne en
var strSQL="select a.col1, a.col2, b.col3, b.col4, CASE WHEN Some_XYZ>0.1 THEN 'Y' ELSE 'N' END as kStatus FROM (A_Derived_Table)";
Et tout a commencé à travailler bien. Quoi / pourquoi ce comportement est-il?Environnement CF10, SQL Server 2008 sur IIS7
La solution
des commentaires
Je crois que c'est un problème / limitation connu avec des requêtes d'écriture dans cfscript - Conseil à l'aide de la requête ColdFusion dans la CFScript et quelque chose à surveiller pour et cette question similaire - Erreur lors de l'utilisation de paramatères de requête avec la requête CFScript .Il en existe aussi une mention ici - ColdFusion d'apprentissage 9: Utilisation de CFQUERY (et d'autres balises de service) dans CFScript