首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个比较头疼的有关问题

2012-09-18 
一个比较头疼的问题。现在在使用c#做SQL Server同步工具,使用了Insert into table select * from [192.168.

一个比较头疼的问题。
现在在使用c#做SQL Server同步工具,使用了
Insert into table select * from [192.168.0.74].[p].[dbo].[table]语句

使用了链接服务器,现在由于表的数目多,数据库,所以,上述语句也是动态的。

现在有部分表里有些xml类型的列,导致运行上述语句的时候报:

分布式查询不支持xml数据类型。远程“[192.168.0.74].[p].[dbo].[table]”包含xml列。


请教高手,有何办法解决。

[解决办法]
用xquery提取出来行不行?
[解决办法]
1、针对XML列:将XML列转换成varchar(max)或nvarchar(max)

2、针对XML文件:使用OPENROWSET
[解决办法]
你反正都用的是动态语句,那就继续拼SQL嘛。

比如针对一个表,从sys.columns中取出列名(name)、数据类型(system_type_id),看到system_type_id=241的,就在外面套上cast(colname as nvarchar(max)),不就可以了么

热点排行