BCP ile SQL Server'dan bir dizi tablo çıkarmak için bu (basitleştirilmiş) kod yığınını kullanıyorum .
$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
}
Harika çalışıyor, ancak şimdi bazı tabloların görünümler yoluyla çıkarılması gerekiyor ve bazılarının çıkarılmaması gerekiyor. Bu yüzden şuna benzer bir veri yapısına ihtiyacım var:
"Page" "vExtractPage"
, "ChecklistItemCategory" "ChecklistItemCategory"
, "ChecklistItem" "vExtractChecklistItem"
Karmalara bakıyordum, ancak bir hash üzerinden nasıl döngü yapılacağına dair hiçbir şey bulamıyorum. Burada yapılacak doğru şey ne olabilir? Belki sadece bir dizi kullanın, ancak her iki değer de boşlukla ayrılmış mı?
Yoksa bariz bir şeyi mi kaçırıyorum?