này không sụp đổ trong ColdFusion 11, nhưng không sụp đổ trong ColdFusion 2016cfquery tai nạn khi có thảo luận TSQL
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
này hoạt động OK trong cả
SELECT *
FROM dbo.Roles WITH (NOLOCK)
WHERE Code IS NOT NULL
AND Active = 1
AND RoleID IN (SELECT RoleID FROM dbo.Emp WITH (NOLOCK))
Có một thiết lập để khôi phục lại hành vi gốc?
CẬP NHẬT
tôi nghĩ rằng tôi đã có một ví dụ nhỏ về vấn đề này, nhưng tôi thì không. Dưới đây là các truy vấn hoàn chỉnh
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
Khi tôi bật DB gỡ lỗi: Tôi nhận được:
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)
Lưu ý rằng SQL String là trên một dòng đơn. Khi bình luận bắt đầu, nó không kết thúc. Mọi thứ sau khi --
vẫn là một nhận xét.
Quản lý không gian trắng được bật. Tắt nó không làm thay đổi hành vi. SQL được tạo ra là như nhau
Một của những điều ít yêu thích nhất của tôi về ColdFusion - khi bạn nâng cấp, những thứ đã từng bắt đầu hoạt động. –
* ColdFusoin 10.5 * ColdFusion 10.5.1 –
Chắc chắn có vấn đề như thế này khi nâng cấp lên CF9 từ CF8. Giải quyết vấn đề này liên quan đến việc tắt quản lý không gian màu trắng trong quản trị viên. Điều này có thay đổi bất cứ điều gì nếu bạn tắt quản lý không gian trắng? Dù bằng cách nào, hãy sửa lỗi. – haxtbh