问题描述
||
我有一个使用数据集设计器和sql 2005 DB设计的类型化数据集。我使用了sql Server资源管理器,只是将表拖到了设计器中。
表中的一列是XML字段,设计人员将其设置为System.String类型。类型化数据集设计器中没有XML数据类型的选项。
我正在向该数据集添加一条记录,并将XML字符串分配给XML(字符串)列。
当我尝试使用tableAdapterManager .Updateall方法更新sql时,它将产生错误:“操作符类型冲突:sql_variant与xml不兼容”
我不知道如何处理这个问题。我在网上找不到与此相关的任何内容,这似乎是一件非常简单且常见的事情。有任何想法吗?
解决方法
我找到了自己问题的答案。
正在更新的表存在于同一SQL Server上的第二个数据库中(数据集中有很多表,但是主数据库中不存在该表)。
有人在INSERT命令中添加了“ databasename.dbo.tablename”,希望它在其他数据库上进行更新。显然,SQL Server在处理XML类型时并不喜欢这种方式。
我将创建一个存储的proc来处理此表上的插入。