Bog*_*nov 5 xml t-sql sql-server-2012 functions sql-clr
我需要在 TSQL 中使用 XSD 验证 XML。为了使此任务半自动化,我需要在 TSQL 函数中执行此操作。
为了进行验证,我必须将值设置为 XML,如果它无效,我将收到一个错误。
我的问题是在 TSQL 函数内部我不能使用TRY / CATCH. 这是正确的方式吗,如果有可能做到这一点?
一种选择(如果在标量函数的上下文中执行此操作是硬性要求,则可能是您唯一的选择)是使用 SQLCLR。SQLCLR 标量函数可以在 C# 或 VB.NET 代码中执行 try/catch/finally 结构。因此,您可以传入 XML 文档和 XSD(两者都作为类型)SqlXml,并在那里进行验证。只需返回 aSqlBoolean来判断是否已验证。
请务必执行以下操作,以便 SQLCLR 函数可以参与并行计划:
IsDeterministic = true在属性中指定SqlFunction。WITH PERMISSION_SET = SAFE。| 归档时间: |
|
| 查看次数: |
917 次 |
| 最近记录: |