5
Per il seguente codice diInvoke-SqlCmd non restituisce una stringa lunga?
$sql = "select ..... for xml path('row')" # returns a long xml file
$x = Invoke-SqlCmd -Server xxxx $sql
$r = $x[0].ItemArray[0]
La tornato $r
ha una stringa XML troncata. Come assicurarsi che venga restituita la stringa lunga completa?
In realtà ho trovato il risultato è suddiviso in più righe. – ca9163d9
@ dc7a9163d9 Ho scoperto che questo è vero anche per alcune prove veloci che ho fatto. Tuttavia, dovrebbe essere abbastanza semplice ricostruire il tuo documento xml. Metti di nuovo l'humpty dumpty insieme. ;) Detto questo, ho anche scoperto che se trovi che la tua query restituisce più di 4000 elementi di array per una singola colonna di dati char (1024 per binario, usa '-MaxBinaryLength'), allora avrai bisogno del comando sopra per fare sicuro di avere l'intero documento. –
Ammetto che i miei test fossero solo con dati binari che avevo già in un DB da qualche parte. Non ho fatto alcun test su xml o altri dati char. Non so come powershell li avrebbe fatti a pezzi. Per me sembrava che li riducesse a byte. Forse per un documento XML lo fa per riga. Dovrebbe provarlo. –