Estoy usando este fragmento de código (simplificado) para extraer un conjunto de tablas de SQL Server con BCP .
$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
}
Funciona muy bien, pero ahora algunas de las tablas deben extraerse a través de vistas y otras no. Entonces necesito una estructura de datos como esta:
"Page" "vExtractPage"
, "ChecklistItemCategory" "ChecklistItemCategory"
, "ChecklistItem" "vExtractChecklistItem"
Estaba buscando hashes, pero no encuentro nada sobre cómo recorrer un hash. ¿Qué sería lo correcto para hacer aquí? ¿Quizás solo use una matriz, pero con ambos valores, separados por espacio?
¿O me estoy perdiendo algo obvio?