私はこの(簡略化された)コードチャンクを使用して、SQL Serverから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
}
これはうまく機能しますが、現在、ビューを介して抽出する必要があるテーブルとそうでないテーブルがあります。だから私はこのようなデータ構造が必要です:
"Page" "vExtractPage"
, "ChecklistItemCategory" "ChecklistItemCategory"
, "ChecklistItem" "vExtractChecklistItem"
私はハッシュを見ていましたが、ハッシュをループする方法について何も見つかりませんでした。ここで正しいことは何でしょうか?おそらく配列だけを使用しますが、両方の値をスペースで区切って使用しますか?
または私は明白な何かを逃していますか?