Dieser stürzt nicht in Coldfusion 11, aber tut Absturz in Coldfusion 2016cfquery stürzt ab, wenn es Tsql Kommentare
SELECT *
FROM dbo.Roles WITH (NOLOCK)
WHERE Code IS NOT NULL
AND Active = 1
AND RoleID IN (SELECT RoleID FROM dbo.Emp WITH (NOLOCK)) -- It's ok to look at termed employees
Dies funktioniert OK in beiden
SELECT *
FROM dbo.Roles WITH (NOLOCK)
WHERE Code IS NOT NULL
AND Active = 1
AND RoleID IN (SELECT RoleID FROM dbo.Emp WITH (NOLOCK))
Gibt es eine Einstellung, um das ursprüngliche Verhalten wiederherzustellen?
UPDATE
Ich dachte, ich ein minimales Beispiel für das Problem hatte, aber ich tat es nicht. Dies ist die komplette Abfrage
SELECT '<ul>' + STUFF (
(
SELECT MIN(Role) AS "li/code", Code AS "li/span/b", 'Unsorted' AS "li/span/var"
FROM dbo.Roles WITH (NOLOCK)
WHERE Code IS NOT NULL
AND Active = 1
AND RoleID IN (SELECT RoleID FROM dbo.Emp WITH (NOLOCK)) -- It's ok to look at termed employees
GROUP BY Code
FOR XML PATH ('')
),
1,0,''
) + '</ul>' AS xmlRole
Wenn ich auf DB-Debugging drehen: Ich bekomme:
spy(http-nio-8500-exec-5)(2016/02/17 10:21:13.807)>> OK
spy(http-nio-8500-exec-5)(2016/02/17 10:21:13.807)>> Statement[4].execute(String sql, int autoGeneratedKeys)
spy(http-nio-8500-exec-5)(2016/02/17 10:21:13.807)>> sql = SELECT '<ul>' + STUFF ((SELECT MIN(Role) AS "li/code", Code AS "li/span/b", 'Unsorted' AS "li/span/var" FROM dbo.Roles WITH (NOLOCK) WHERE Code IS NOT NULL AND Active = 1 AND RoleID IN (SELECT RoleID FROM dbo.Emp WITH (NOLOCK)) -- It's ok to look at termed employees GROUP BY Code FOR XML PATH ('')), 1,0,'') + '</ul>' AS xmlRole
spy(http-nio-8500-exec-5)(2016/02/17 10:21:13.807)>> autoGeneratedKeys = 1
spy(http-nio-8500-exec-5)(2016/02/17 10:21:13.807)>>
java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near ')'. ErrorCode=102 SQLState=HY000
java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near ')'.
at macromedia.jdbc.sqlserverbase.ddcw.b(Unknown Source)
at macromedia.jdbc.sqlserverbase.ddcw.a(Unknown Source)
Beachten Sie, dass die SQL-Zeichenfolge in einer Zeile ist. Wenn der Kommentar beginnt, endet er nicht. Alles nach dem --
bleibt als auskommentiert.
Die White-Space-Verwaltung ist eingeschaltet. Wenn Sie es deaktivieren, ändert sich das Verhalten nicht. Die generierte SQL ist die gleiche
One meiner am wenigsten Lieblings-Dinge über ColdFusion - wenn Sie upgraden, beginnen Dinge, die zu arbeiten begannen, zu brechen. –
* ColdFusoin 10.5 * ColdFusion 10.5.1 –
Ich bin sicher, es gab ein Problem wie dies beim Upgrade auf CF9 von CF8. Die Lösung bestand darin, das White Space Management im Admin auszuschalten. Ändert dies etwas, wenn Sie die White-Space-Verwaltung deaktivieren? Wie auch immer, entschuldigen Sie einen Fehler. – haxtbh