Sql server 创建xml架构集合fractionDigits限制的最大值

Sql server 创建xml架构集合fractionDigits限制的最大值,sql-server,xsd,Sql Server,Xsd,我正试图通过“CREATEXMLSchemaCollection”语句将第三方XSD方案加载到SQLServer2008中 有一个基于“xs:decimal”的复杂类型,但有以下限制: <xs:totalDigits value="31"/> <xs:fractionDigits value="14"/> 但我仍然能够创建类型为“numeric(31,14)”的变量 我在w3c文档和MSDN中都没有发现任何限制。你能给我一些关于这些限制的

我正试图通过“CREATEXMLSchemaCollection”语句将第三方XSD方案加载到SQLServer2008中

有一个基于“xs:decimal”的复杂类型,但有以下限制:

        <xs:totalDigits value="31"/>
        <xs:fractionDigits value="14"/>
但我仍然能够创建类型为“numeric(31,14)”的变量

我在w3c文档和MSDN中都没有发现任何限制。你能给我一些关于这些限制的文件吗。也许我可以用一些服务包或设置来修复它

SQL Server版本:Microsoft SQL Server 2008(SP3)-10.0.5500.0(X64)2011年9月21日22:45:45版权所有(c)1988-2008 Windows NT 6.1上的Microsoft Corporation企业版(64位)(版本7601:Service Pack 1)



我在MSDN上找到了答案()

SQL Server不支持可变精度小数。这个 xs:decimal类型表示任意精度的十进制数。 最小一致性XML处理器必须支持带 总计位数的最小值=18。SQL Server支持totalDigits=38,但 将小数位数限制为10。所有xs:decimal实例值 在服务器内部使用SQL类型数字表示 (38,10)


他们没有将xs:decimal映射为数字类型,而是decimal

我在MSDN()上找到了答案

SQL Server不支持可变精度小数。这个 xs:decimal类型表示任意精度的十进制数。 最小一致性XML处理器必须支持带 总计位数的最小值=18。SQL Server支持totalDigits=38,但 将小数位数限制为10。所有xs:decimal实例值 在服务器内部使用SQL类型数字表示 (38,10)


他们没有将xs:decimal映射为数字类型,但是decimal

我没有从Microsoft找到任何关于该限制的文档,但是Jacob Sebastian(第489页)提到了它。SQL Server 2012中也是如此。请将解决方案添加为您自己问题的正确答案,并将其标记为答案,而不是编辑您的问题。这将向未来的读者表明,这个问题实际上有一个解决方案我很乐意这么做,但现在不行(对新用户有一些限制)
Msg 6960, Level 16, State 2, Line 2
Component 'NAME' is outside of allowed range. Maximum for 'fractionDigits' is 10 and maximum number of digits for non fractional part is 28