मैं BCP के साथ SQL सर्वर से तालिकाओं के एक सेट को निकालने के लिए इस (सरलीकृत) कोड का उपयोग कर रहा हूं ।
$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"
मैं हैश देख रहा था, लेकिन मुझे कुछ भी नहीं मिल रहा है कि कैसे हैश के माध्यम से लूप किया जाए। यहां क्या करना सही होगा? शायद बस एक सरणी का उपयोग करें, लेकिन दोनों मूल्यों के साथ, अंतरिक्ष द्वारा अलग किया गया?
या मैं कुछ स्पष्ट याद कर रहा हूँ?