以下代码
$sql = "select ..... for xml path('row')" # returns a long xml file
$x = Invoke-SqlCmd -Server xxxx $sql
$r = $x[0].ItemArray[0]
返回的$r
有一个截断的xml字符串。如何确保返回完整的长字符串?
答案 0 :(得分:15)
该cmdlet具有默认的最大字符长度,对于XML或char数据类型,默认为4,000个字符 [1] 。
尝试以下方法:
$x = Invoke-SqlCmd -Server xxxx $sql -MaxCharLength <some large enough number>
[1] http://blogs.technet.com/b/heyscriptingguy/archive/2013/05/06/10-tips-for-the-sql-server-powershell-scripter.aspx - 搜索-MaxCharLength
答案 1 :(得分:0)
很多时候可以解决这种情况:
$x = Invoke-SqlCmd -Server xxxx $sql -MaxCharLength <some large enough number>
但是,在某些情况下它不起作用:
您可以尝试几种解决方案: