sql-server - SQL SERVER XML 查询不返回任何内容
问题描述
每个或一些 ssrs 报告都有以下标签:
xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition"
xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily"
MustUnderstand="df"
除非我删除上面指定的属性,否则此查询不会返回任何数据。在给定的 xml 中,不能删除属性。
declare @content xml =
'<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily" MustUnderstand="df">
<DataSets>
<DataSet Name="DS">
<Query>
<CommandText>rep.my_proc</CommandText>
</Query>
</DataSet>
</DataSets>
</Report>'
select
'DB growth' as ReportName,
CommandText = x.value('(Query/CommandText)[1]','VARCHAR(250)')
from @content.nodes('Report/DataSets/DataSet') r (x)
该查询是否有任何错误?
解决方案
declare @content xml =
'<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily" MustUnderstand="df">
<DataSets>
<DataSet Name="DS">
<Query>
<CommandText>rep.my_proc</CommandText>
</Query>
</DataSet>
</DataSets>
</Report>'
;WITH XMLNAMESPACES(DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition')
select
'DB growth' as ReportName,
CommandText = x.value('(Query/CommandText)[1]','VARCHAR(250)')
from @content.nodes('Report/DataSets/DataSet') r (x)
推荐阅读
- c# - 如何检索类属性的属性值?
- php - 在我的 Web 应用程序中实现 simplesamlphp 库的问题
- android - java.lang.StackOverflowError:堆栈大小 8192KB 蓝牙管理器
- angular - 拦截器内部的离子警报
- python-3.x - tkinter:滚动条在画布上不起作用
- javascript - 出现值时禁用/启用按钮问题
- javascript - ReactJs 改变状态不显示
- python - 如何将整个 python 应用程序添加到 azure databricks 中并运行它?
- database - 数据库崩溃后无法重新启动 mariadb 列存储
- javascript - 如何从内部组件导航到外部组件 react-router-dom?