mssqlserver报分布式查询不支持 Xml 数据类型

项目中需要用到表中一些数据,需要跨数据库访问。表中的列类型为xml就会出报: 分布式查询不支持 Xml 数据类型。

我的解决办法就是创建一个表,这个表跟你需要查的表的结构和原表除了xml列换成ncahr()列其他不变。将你查出的数据先插入新建表中,跨服务使用新建的表来满足你的需求...


具体sql如下:

--创建链接服务器 

exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 ' 


--以后不再使用时删除链接服务器 

exec sp_dropserver  'ITSV ', 'droplogins ' 

--之前表结构
CREATE TABLE [dbo].[tblWorkFlowActivityDefinition1](
[ActivityId] [uniqueidentifier] NOT NULL,
[ExpandXml] [xml] NULL,--[xml] NULL,
[Marker] [varchar](32) NULL,
[RoleId] [uniqueidentifier] NULL,
[Url] [varchar](1024) NULL,
[PhaseId] [uniqueidentifier] NULL,
[TaskId] [uniqueidentifier] NULL,
[Ordinal] [int] NULL

)

--新建表结构

CREATE TABLE [dbo].[tblWorkFlowActivityDefinition1](
[ActivityId] [uniqueidentifier] NOT NULL,
[ExpandXml] [varchar](1024) NULL,--[xml] NULL,
[Marker] [varchar](32) NULL,
[RoleId] [uniqueidentifier] NULL,
[Url] [varchar](1024) NULL,
[PhaseId] [uniqueidentifier] NULL,
[TaskId] [uniqueidentifier] NULL,
[Ordinal] [int] NULL

)

跨服务访问使用

ITSV.ITMS.dbo.tblWorkFlowActivityDefinition1

把你需要的数据放在新表 

问题解决了


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值