Invoke-SqlCmd不返回长字符串?

ca9*_*3d9 10 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]
Run Code Online (Sandbox Code Playgroud)

返回的$r是一个截断的xml字符串.如何确保返回完整的长字符串?

New*_*Guy 17

该cmdlet具有默认的最大字符长度,对于XML或char数据类型,默认为4,000个字符[1].

请尝试以下方法:

$x = Invoke-SqlCmd -Server xxxx $sql -MaxCharLength <some large enough number>
Run Code Online (Sandbox Code Playgroud)

[1] http://blogs.technet.com/b/heyscriptingguy/archive/2013/05/06/10-tips-for-the-sql-server-powershell-scripter.aspx - 搜索-MaxCharLength