مشخصات مقاله
-
0
-
0.0
-
2172
-
0
-
0
افزودن و تنظیم کانتینر حلقه Foreach در SSIS
افزودن و تنظیم کانتینر حلقه Foreach در SSIS
در این آموزش، شما قابلیتی را برای حلقه از طریق پوشه ی فایل های flat اضافه می کنید و تبدیل جربان داده های درس اول را برای هر یک از آن فایل های flat اعمال می کنید. این کار را با اضافه کردن و تنظیم کردن یک کانتینرحلقه Foreach به جریان کنترل انجام می دهید.
کانتینر حلقه Foreach که شما اضافه می کنید باید بتواند به هر فایل flat در این پوشه متصل بشود. به این علت که همه فایل ها در این پوشه فرمت یکسانی را دارند، کانتینر حلقهForeach می تواند از مدیر ارتباط فایل flat یکسانی برای اتصال به هر یک از این فایل ها استفاده کند. مدیر ارتباط فایل flat که از این کانتینر استفاده می کند همان چیزی است که شما در درس 1 ایجاد کردید.
در حال حاضر مدیر ارتباط فایل flat از درس 1 تنها به یک فایل flat خاص متصل می شود. برای تکرار اتصال به هر فایل flat در این پوشه، شما باید هم کانتینرحلقه Foreach و هم مدیر ارتباط فایل flat را به صورت زیر تنظیم نمایید:
- کانتینر حلقه Foreach: شما مقدار شمارش شده کانتینررا به متغیر پکیج تعریف شده توسط کاربر نگاشت می کنید. سپس کانتینراز این متغیر استفاده می کند تا به صورت پویا ویژگی ConnectionString مدیر ارتباط فایل flat را تغییر دهد و به صورت مکرر به هر فایل flat در پوشه متصل شود.
- مدیر ارتباط فایل flat : شما مدیرارتباطی که در درس 1 ایجاد شده بود را با استفاده از یک متغیر تعریف شده توسط کاربر تغییر می دهید تا ویژگی ConnectionString مدیر ارتباط را مقداردهی کنید.
روش های این آموزش چگونگی ایجاد و تغییر کانتینر حلقه Foreach را برای استفاده یک متغیر پکیج تعریف شده توسط کاربر و همچنین اضافه کردن تسک جریان داده ها به درون حلقه را نشان می دهد. شما یاد خواهید گرفت که چگونه مدیر ارتباط فایل flat را برای استفاده از متغیر تعریف شده توسط کاربر در تسک بعدی تغییر دهید.
پس از اینکه این تغییرات را در پکیج ایجاد کردید، هنگام اجرای این پکیج، کانتینر حلقه Foreach از طریق تمام فایل ها در پوشه Sample Data تکرار می شود. هر بار که یک فایلی پیدا می شود که معیارهاش مطابقت دارد , کانتینر حلقه Foreach متغیر جدید را با نام فایل مقداردهی می کند، و متغیر را به ویژگی ConnectionString مدیر ارتباط فایل flat داده های پولی این مثال نگاشت می کند و سپس جریان داده ها را در برابر آن فایل اجرا می کند . به این ترتیب، هر تکرار حلقه Foreach , تسک جریان داده ها را به یک فایل flat متفاوت انجام می دهد.
از آنجایی که سرویس های یکپارچه سازی مایکروسافت، جریان کنترل را از جریان داده ها جدا می کنند، هر حلقه ای که به جریان کنترل اضافه می کنید نیازی به تغییر در جریان داده نخواهید داشت. بنابراین، جریان داده های درس 1 نیازی به تغییر ندارند.
افزودن یک کانتینر حلقه Foreach
- در SQL Server Data Tools , تب Control Flow را انتخاب کنید.
- در SSIS Toolbox , Containers را باز کنید و سپس Foreach Loop Container را در قسمت طراحی تب Control Flow درگ کنید.
- بر روی Foreach Loop Container جدید کلیک راست کنید و Edit را انتخاب کنید.
- در کادرForeach Loop Editor , بر روی صفحه General , برای Name, Foreach File in Folder را وارد کنید و سپس OKرا بزنید.
- کانتینر حلقه Foreach را راست کلیک کنید , Properties را انتخاب کنید , و در پنجره Properties بررسی کنید که ویژگی LocaleID به English (United States) تنظیم شده است.
تنظیم شمارشگر برای کانتینر حلقه Foreach
- برای دوباره بار کردن Foreach Loop Editor , Foreach File in Folder را دابل کنید
- Collection را انتخاب کنید.
- بر روی صفحه Collection , Foreach File Enumerator را انتخاب کنید.
- در گروه Enumerator configuration , Browse را انتخاب کنید.
- در کادر Browse for Folder , پوشه را بر روی ماشینی قرار دهید که شامل فایلهای Currency_*.txt با داده های نمونه است.
- در کادر Files , Currency_*.txt را وارد کنید.
نگاشت شمارشگر به یک متغیر تعریف شده توسط کاربر
- Variable Mappings را انتخاب کنید.
- بر روی صفحه Variable Mappings , در ستونVariable , سلول خالی را انتخاب کنید و سپس
را انتخاب نمایید. -
در کادر Add Variable , برای Name , varFileName را وارد کنید.
توجه:
نام متغیرها حساس به حروف است.
- OK را انتخاب کنید
- دوباره OK را برای خروج از کادر Foreach Loop Editor انتخاب کنید.
افزودن تسک جریان داده به حلقه
- تسک جریان داده ها Extract Sample Currency Data در کانتینر حلقه Foreach , Foreach File in Folder قرار دهید.
برو به تسک بعدی
مرحله 3 : تغییر مدیر ارتباط فایل flat