【发布时间】:2015-04-07 03:05:13
【问题描述】:
如下代码
$sql = "select ..... for xml path('row')" # returns a long xml file
$x = Invoke-SqlCmd -Server xxxx $sql
$r = $x[0].ItemArray[0]
返回的$r 有一个截断的 xml 字符串。如何确保返回完整的长字符串?
【问题讨论】:
标签: sql-server powershell
如下代码
$sql = "select ..... for xml path('row')" # returns a long xml file
$x = Invoke-SqlCmd -Server xxxx $sql
$r = $x[0].ItemArray[0]
返回的$r 有一个截断的 xml 字符串。如何确保返回完整的长字符串?
【问题讨论】:
标签: sql-server powershell
该 cmdlet 具有默认的最大字符长度,对于 XML 或 char 数据类型,默认为 4,000 个字符(请参阅Search for -MaxCharLength)。
尝试以下方法:
$x = Invoke-SqlCmd -Server xxxx $sql -MaxCharLength <some large enough number>
【讨论】:
-MaxBinaryLength),那么您将需要上面的命令来确保你得到了整个文件。
很多时候这解决了这个问题:
$x = Invoke-SqlCmd -Server xxxx $sql -MaxCharLength <some large enough number>
但是,在某些情况下它不起作用:
您可以尝试几种解决方案:
【讨论】: