To nie psuje w ColdFusion 11, ale psuje w ColdFusion 2016awarii cfquery gdy istnieją TSQL komentarze
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
To działa OK w obu
SELECT *
FROM dbo.Roles WITH (NOLOCK)
WHERE Code IS NOT NULL
AND Active = 1
AND RoleID IN (SELECT RoleID FROM dbo.Emp WITH (NOLOCK))
Czy istnieje ustawienie przywracające oryginalne zachowanie?
UPDATE
myślałem, że minimalny przykład problemu, ale ja nie. Oto pełna zapytania
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
Po włączeniu DB debugowania: uzyskać:
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)
Należy pamiętać, że SQL ciąg jest na jednej linii. Gdy komentarz się rozpocznie, nie kończy się. Wszystko po --
pozostaje jako komentarz.
Zarządzanie przestrzenią białą jest włączone. Wyłączenie go nie zmienia zachowania. Wygenerowany SQL jest taki sam
One o moich najmniej ulubionych rzeczach związanych z ColdFusion - po uaktualnieniu rzeczy, które kiedyś działały, zaczynają się łamać. –
* ColdFusoin 10.5 * ColdFusion 10.5.1 –
Jestem pewien, że taki problem wystąpił podczas aktualizacji do CF9 z CF8. Rozwiązanie tego problemu wymagało wyłączenia zarządzania pustymi miejscami w administratorze. Czy to zmieni cokolwiek, jeśli wyłączysz zarządzanie pustymi przestrzeniami? Tak czy siak, usuń błąd. – haxtbh