2016-02-17 20 views
8

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 

enter image description here

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

+4

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. –

+0

* ColdFusoin 10.5 * ColdFusion 10.5.1 –

+0

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

Trả lời