我們遇到了一個問題,我們在兩臺不同的服務器上運行完全相同的查詢,運行完全相同的Service Pack並更新 - 9.0.4211 - 但接收兩個不同格式的XML結果集。有沒有人知道爲什麼/如何發生這種情況? SQL Server生成XML格式的方式是否存在某種設置/架構?我知道我們可以使用PATH選項來轉換xml,但此時所有的客戶端代碼都被寫入使用其中一個結果集的格式,並且使用路徑選項仍然無法讓我們知道AUTO選項對於正確的格式。SQL Server 2005 FOR XML子句
查詢 - 如果需要的話,可以提供
SELECT distinct
operation.operationid,
@zoneId as ZoneID,
member.name, IsNull(member.firstname, '') as firstname, IsNull(member.lastname, '') as lastname, IsNull(member.email, '') as email, IsNull(member.memberid, '') as memberid, IsNull(member.type, '') as type, IsNull(member.AppMemberID, '') as AppMemberID
FROM IQSECURE_TaskOperations operation
join IQSECURE_RoleTasks r on operation.taskid = r.taskid
join IQOBASE_Rosters roster on r.roleid = roster.roleid
left outer join IQObase_Members member on roster.rosterid = member.Rosterid
WHERE operation.operationid = @operationid AND roster.zoneid = @zoneId and member.memberid is not null
union
SELECT distinct
operation.operationid,
@zoneID as ZoneID,
member.name, IsNull(member.firstname, '') as firstname, IsNull(member.lastname, '') as lastname, IsNull(member.email, '') as email, IsNull(member.memberid, '') as memberid, IsNull(member.type, '') as type, IsNull(member.AppMemberID, '') as AppMemberID
FROM IQSECURE_TaskOperations operation
join IQSECURE_RoleTasks r on operation.taskid = r.taskid
join IQOBASE_Rosters roster on r.roleid = roster.roleid
left outer join IQOBASE_Members_Exploded member on roster.rosterid = member.Rosterid
WHERE operation.operationid = @operationid AND roster.zoneid = @zoneid and member.memberid is not null
ORDER BY IsNull(member.type, ''), IsNull(member.lastname, ''), IsNull(member.firstname, ''), member.name
FOR XML AUTO, XMLDATA
返回的XML。
在此先感謝您提供的任何幫助。
喬恩
那麼,無論是提供XML或解釋差異:) – Andomar 2010-11-10 16:17:41