বিসিপি সহ এসকিউএল সার্ভার থেকে টেবিলের একটি সেট বের করতে আমি এই (সরলীকৃত) কোড অব ব্যবহার করছি ।
$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"
আমি হ্যাশগুলির দিকে তাকিয়ে ছিলাম, তবে আমি কীভাবে একটি হ্যাশ দিয়ে লুপ করব সে সম্পর্কে কিছুই খুঁজে পাচ্ছি না। এখানে সঠিক জিনিস কি হবে? সম্ভবত একটি অ্যারে ব্যবহার করুন, তবে উভয় মান দিয়ে, স্থান দ্বারা পৃথক?
নাকি আমি স্পষ্ট কিছু মিস করছি?