Invoke-SqlCmd ne renvoie pas de string longue?

Pour le code suivant

$sql = "select ..... for xml path('row')" # returns a long xml file $x = Invoke-SqlCmd -Server xxxx $sql $r = $x[0].ItemArray[0] 

Le $r renvoyé a une string xml tronquée. Comment vous assurer que la longue string complète est renvoyée?

Cette cmdlet a une longueur de caractères maximale par défaut, par défaut 4 000 caractères [1] pour les types de données XML ou char.

Essayez ce qui suit:

 $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 – Rechercher -MaxCharLength