码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server error "Xml data type is not supported in distributed queries" and workaround for it

时间:2015-06-16 18:37:25      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

Recently while working with data migration,got an error while running a following query where Server2 has beed added as linked server.

SELECT 
* 
FROM Server1.Database1.dbo.Table1 
WHERE Column1 NOT IN
(SELECT Column1 FROM Server2.Database2.dbo.Table1)
GO

-- Error raised while run above query
"Xml data type is not supported in distributed queries. Remote object ‘Server2.Database2.dbo.Table1‘ has xml column(s)."

Server2.Database2.dbo.Table1 objects has another column named ‘column2‘ has xml datatype and we have not used it anywhere in query. We used ‘column1‘ of that table only and it has not xml datatype, even it has raised error. For the solution to avoid such error i have revised query as following.

 

SELECT 
* 
FROM Server1.Database1.dbo.Table1 
WHERE Column1 NOT IN
    (
    SELECT
    	  *
    FROM
    OPENQUERY(Server2,‘
    			SELECT 
    			Column1
    			FROM Database2.dbo.Table1‘
    		) linked
    )


这是网上查到的资料
根据这个,我先把xml转化成nvarchar, 在转回去变成xml

SELECT top 100 [Internal Database ID],[Internal Database Search ID],[Watch List Code],[Watch List Description], CONVERT(xml, CAST([Watch List Record Detail] as nvarchar(max))) [Watch List Record Detail] FROM OPENQUERY( [172.16.4.169] ,
SELECT top 100 [Internal Database ID], [Internal Database Search ID],[Watch List Code],[Watch List Description], CAST([Watch List Record Detail] as nvarchar(max)) [Watch List Record Detail] FROM [VeridocsECCM].[dbo].[VML_View_WatchListHits]‘)

SQL Server error "Xml data type is not supported in distributed queries" and workaround for it

标签:

原文地址:http://www.cnblogs.com/facial/p/4581084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!