Ich verwende diesen (vereinfachten) Codeabschnitt, um eine Reihe von Tabellen mit BCP aus SQL Server zu extrahieren .
$OutputDirectory = "c:\junk\"
$ServerOption = "-SServerName"
$TargetDatabase = "Content.dbo."
$ExtractTables = @(
"Page"
, "ChecklistItemCategory"
, "ChecklistItem"
)
for ($i=0; $i -le $ExtractTables.Length – 1; $i++) {
$InputFullTableName = "$TargetDatabase$($ExtractTables[$i])"
$OutputFullFileName = "$OutputDirectory$($ExtractTables[$i])"
bcp $InputFullTableName out $OutputFullFileName -T -c $ServerOption
}
Es funktioniert gut, aber jetzt müssen einige der Tabellen über Ansichten extrahiert werden, andere nicht. Ich brauche also eine Datenstruktur wie diese:
"Page" "vExtractPage"
, "ChecklistItemCategory" "ChecklistItemCategory"
, "ChecklistItem" "vExtractChecklistItem"
Ich habe mir Hashes angesehen, aber ich finde nichts darüber, wie man einen Hash durchläuft. Was wäre hier das Richtige? Vielleicht nur ein Array verwenden, aber mit beiden durch Leerzeichen getrennten Werten?
Oder fehlt mir etwas Offensichtliches?