Saya menggunakan potongan kode (yang disederhanakan) ini untuk mengekstrak satu set tabel dari SQL Server dengan 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
}
Ini berfungsi dengan baik, tetapi sekarang beberapa tabel perlu diekstraksi melalui tampilan, dan beberapa tidak. Jadi saya membutuhkan struktur data seperti ini:
"Page" "vExtractPage"
, "ChecklistItemCategory" "ChecklistItemCategory"
, "ChecklistItem" "vExtractChecklistItem"
Saya melihat hash, tetapi saya tidak menemukan apa pun tentang cara mengulang melalui hash. Apa hal benar yang harus dilakukan di sini? Mungkin hanya menggunakan larik, tetapi dengan kedua nilai, dipisahkan oleh spasi?
Atau apakah saya melewatkan sesuatu yang jelas?