这段语句sqlserver爆出语法错误 ?

uutt001 2016-08-10 03:25:41
DECLARE @x XML

SET @x=(select * from Test FOR XML RAW('entry'),ELEMENTS,ROOT('so_order_body'))

SELECT @x.query('<ufinterface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" roottag="so_order" billtype="30" replace="Y" >
<so_order>

{ /so_order_body } </so_order></ufinterface>')

昨天还能在SQlserver上面完美运行,今天就报错了?还望大神指导
...全文
147 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-08-10
  • 打赏
  • 举报
回复
自己电脑果断安装SQL2014/16 SQL2000这个产品10年前还有人用,现在没人用了
中国风 2016-08-10
  • 打赏
  • 举报
回复
升级数据库SQL2005以上版本 或用拼字符串导出 ----------- 你应该是之前向我提问的网友吧,用旧方法导出
uutt001 2016-08-10
  • 打赏
  • 举报
回复
引用 9 楼 roy_88 的回复:
80,70--最大为80,这是SQL 2000 --查看版本 SELECT @@VERSION 不支持XML函数,只有在SQL2005之后版本支持
确实是2000 那我怎么改
uutt001 2016-08-10
  • 打赏
  • 举报
回复
引用 9 楼 roy_88 的回复:
80,70--最大为80,这是SQL 2000

--查看版本
SELECT @@VERSION


不支持XML函数,只有在SQL2005之后版本支持

中国风 2016-08-10
  • 打赏
  • 举报
回复
80,70--最大为80,这是SQL 2000 --查看版本 SELECT @@VERSION 不支持XML函数,只有在SQL2005之后版本支持
uutt001 2016-08-10
  • 打赏
  • 举报
回复
引用 7 楼 roy_88 的回复:
#3 查看方法: 在执行语句的环境的数据库—右健—属性—选项—兼容性为是否80(SQL2000的版本所用),环境SQL 2000是不支持XML函数 检查连接实例是否如#5实例为SQL2000
只有两个选项,一个80,一个70 我感觉可能是楼上说的连接到SQL2000
中国风 2016-08-10
  • 打赏
  • 举报
回复
#3 查看方法: 在执行语句的环境的数据库—右健—属性—选项—兼容性为是否80(SQL2000的版本所用),环境SQL 2000是不支持XML函数 检查连接实例是否如#5实例为SQL2000
uutt001 2016-08-10
  • 打赏
  • 举报
回复
引用 5 楼 zbdzjx 的回复:
按照楼主给的图片上看,应该是连到sql server 2000了。
那怎么设置调回来
zbdzjx 2016-08-10
  • 打赏
  • 举报
回复
按照楼主给的图片上看,应该是连到sql server 2000了。
uutt001 2016-08-10
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
空白处是否有特殊字符,去掉空白再试
SELECT @x.query('<ufinterface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" roottag="so_order" billtype="30" replace="Y" ><so_order>{ /so_order_body } </so_order></ufinterface>')
我用别人的Sqlserver2008运行没问题,我自己电脑运行就有问题,是什么问题?
中国风 2016-08-10
  • 打赏
  • 举报
回复
查看数据库兼容性是否变为80了
uutt001 2016-08-10
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
空白处是否有特殊字符,去掉空白再试
SELECT @x.query('<ufinterface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" roottag="so_order" billtype="30" replace="Y" ><so_order>{ /so_order_body } </so_order></ufinterface>')
不行啊,试了还是xml附近有问题,问题是昨天这句话还好好的,今天就都不行了,而且还报语法错误,是不是哪里需要设置还是什么,上网找的for xml path 语句全部试了都不行,要么path附近有错误,要么xml附近有错误
中国风 2016-08-10
  • 打赏
  • 举报
回复
空白处是否有特殊字符,去掉空白再试
SELECT @x.query('<ufinterface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" roottag="so_order" billtype="30" replace="Y" ><so_order>{ /so_order_body } </so_order></ufinterface>')

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧