Powershell - Parse System.Data.DataRow à String
J'ai besoin de vos entrées sur la façon de convertir la sortie d'une requête SQL dans une chaîne de caractères en powershell. Je suis actuellement en train de faire la suite
function ExecuteFromScriptRowset($connectionParams, $file)
{
return (invoke-sqlcmd @connectionParams
-inputFile $file -MaxCharLength 8000000)
}
- Je utiliser la fonction ci-dessus pour appeler un .fichier sql qui fait quelque chose comme
SELECT Names FROM tblXXX
Ici est le powershell code que j'utilise pour invoquer la stockées SQL proc
$output = ExecuteFromScriptRowset $someDB (Resolve-Path '.\selectXXX.sql')
La sortie est un tableau de Système.Les données.DataRow dont j'ai besoin pour convertir un tableau de chaînes. Je suis en train d'essayer la suite, qui ne fonctionne pas comme prévu
$formatOut = @()
for ($i=0; $i -le $output.Length; $i++)
{
$formatOut = $formatOut + [string]$output[$i]
}
Voici la sortie de $formatOut est après la boucle for et ce n'est pas ce que je cherchais
$formatOut[0] = System.Data.DataRow
$formatOut[1] = System.Data.DataRow
$formatOut[2] = System.Data.DataRow
Pourriez-vous s'il vous plaît laissez-moi savoir ce que je dois faire pour que je créer un tableau de chaînes le contenu de l' $objet de sortie
source d'informationauteur infinity
Vous devez vous connecter pour publier un commentaire.
Ce que vous voyez est tout à fait normal, parce que, par défaut
ToString
sera de sortie de type d'objet. C'est par .NET spécifications.Vous pouvez convertir un
DataRow
à la matrice de l'objet à l'aide deItemArray
puis rejoindre via "," ou selon la méthode join vous préférez, comme ceci: