تسک اجرای Execute SQL در SSIS
تسک Execute SQL در SSIS برای اجرای کوئریها (بیانیهها) یا پروسیجرهای ذخیرهشده از بسته استفاده میشود. شما میتوانید از این تسک Execute SQL برای نوشتن یک یا چند بیانیه استفاده کنید که به صورت ترتیبی اجرا شوند.
ما میتوانیم از تسک Execute SQL در SSIS برای اهداف زیر استفاده کنیم:
ایجاد، تغییر و حذف جداول و نماها.
قبل از شروع به وارد کردن دادهها به جدول، میتوانیم از این تسک Execute SQL برای خالی کردن جداول یا نماها استفاده کنیم.
بازسازی (حذف و ایجاد دوباره) جداول بعدی و حقایق قبل از بارگذاری دادهها به آنها.
اجرای پروسیجرهای ذخیرهشده.
ذخیره مجموعه نتایج در یک متغیر برای استفاده از آن دادهها در تسکهای دیگر.
ویژگیهای تسک Execute SQL در SSIS
این مقاله مراحل پیکربندی تسک Execute SQL در SSIS را با یک مثال نشان خواهد داد. ابتدا، تسک Execute SQL را از نوار ابزار کشیده و در ناحیه جریان کنترل رها کنید.

دوبار کلیک بر روی آن، ویرایشگر را باز میکند تا آن را پیکربندی کنید.
زبانه عمومی
این زبانه برای پیکربندی ویژگیهای تسک Execute SQL در SSIS استفاده میشود.
نام: لطفاً نام منحصر به فرد را وارد کنید.
توضیحات: عملکرد تسک را به طور مختصر توصیف کنید. همیشه یک عمل خوب است که توضیح معتبر و مناسبی ارائه دهید.
در زمان واقعی، لطفاً نام تسک Execute SQL در SSIS را به نام مناسب تغییر دهید و توضیحات را بنویسید تا عملکرد تسک را توضیح دهد. توضیحات به توسعهدهندگان دیگر کمک میکند تا تسک SSIS را بهتر درک کنند.
این صفحه به طور کامل بر اجرای یک کوئری واحد متمرکز است. با این حال، ترکیب تسک Execute SQL با حلقه Foreach، چندین کوئری را به طور همزمان اجرا میکند.

زبانه گزینهها در تسک Execute SQL در SSIS
زمانانتظار (به ثانیه): لطفاً زمانانتظار اتصال را به ثانیه وارد کنید. اگر اتصال بیشتر از این زمان طول بکشد، اتصال با شکست مواجه خواهد شد. به طور پیشفرض، مقدار آن 0 است که به معنای زماننامحدود است.
کد صفحه: لطفاً کد صفحهای که تسک میخواهد هنگام تبدیل مقادیر یونیکد به متغیرها استفاده کند، مشخص کنید. به طور پیشفرض، از کد صفحه رایانه محلی استفاده خواهد کرد.
حالت تبدیل نوع: به طور پیشفرض، مقدار آن مجاز است که به این معنی است که تسک Execute SQL سعی خواهد کرد نتایج کوئری و پارامترهای خروجی را به انواع دادههای متغیرها تبدیل کند.

نوع اتصال
لطفاً نوع Connection Manager مورد نظر خود را برای منبع داده انتخاب کنید. شما میتوانید انواع اتصالات موجود که توسط تسک Execute SQL در SSIS ارائه شدهاند را با کلیک بر روی پیکان پایین مشاهده کنید. این انواع عبارتند از OLE DB، EXCEL، ODBC، ADO، ADO.NET و MOBILE.

اتصال
تنظیمات Connection Manager را برای بیانیه پیکربندی کنید. اگر قبلاً اتصال را ایجاد کردهاید، از لیست انتخاب کنید یا روی <New connection…> کلیک کنید تا یک اتصال جدید ایجاد کنید.

نوع منبع
لطفاً مشخص کنید که چگونه میخواهید دادههای منبع خود را ارائه دهید. این تسک Execute SQL در SSIS سه گزینه را ارائه میدهد:
ورودی مستقیم: اگر میخواهید بیانیه را مستقیماً بنویسید، این گزینه را انتخاب کنید.
اتصال به فایل: این گزینه را انتخاب کنید اگر کوئری شما در سیستم فایل قرار دارد. برای مثال به مقاله استفاده از اتصال فایل مراجعه کنید.
متغیر: اگر کوئری شما در یک متغیر قرار دارد، این گزینه را انتخاب کنید.

ویژگی بعدی کاملاً بر اساس گزینه نوع منبع است. به عنوان مثال، اگر نوع منبع را فایل سیستم انتخاب کنیم، ویژگی زیر به “اتصال به فایل” تغییر خواهد کرد. و ما میتوانیم از این ویژگی برای شناسایی و انتخاب فایل استفاده کنیم.

به عنوان مثال، اگر گزینه ورودی مستقیم را به عنوان نوع منبع تسک Execute SQL در SSIS انتخاب کنیم، ویژگی بعدی به “بیانیه SQL” تغییر خواهد کرد. و ما میتوانیم از این ویژگی برای نوشتن بیانیه استفاده کنیم. برای نمایش، ما کوئری زیر را مینویسیم.
SELECT [Id] ,[FirstName] ,[LastName] ,[Education] ,[Occupation] ,[YearlyIncome] ,[Sales] ,[HireDate] FROM [Employee Table] WHERE [Sales] > ?

IsQueryStoredProcedure
تنها این ویژگی زمانی فعال میشود که نوع اتصال را به عنوان ADO یا ADO.NET انتخاب کنید. اگر کوئری شما یک پروسیجر ذخیرهشده باشد، مقدار این ویژگی را به True تغییر دهید.
مجموعه نتایج
این ویژگی تسک Execute SQL در SSIS به ما کمک میکند تا خروجی را پیکربندی کنیم. این ویژگی چهار مقدار دارد:
None: اگر نخواهید هیچ مقداری بازگردانده شود، این گزینه را انتخاب کنید. به عنوان مثال، شما از تسک Execute SQL برای خالی کردن جدول استفاده میکنید. در این صورت هیچ دلیلی برای بازگرداندن مقدار وجود ندارد.
Single Row Result Set: اگر بخواهید یک مجموعه نتیجه از یک ردیف بازگردانید، میتوانید از این گزینه استفاده کنید — به عنوان مثال، تعداد کل رکوردها در یک جدول، ستونها و غیره.
Full Result Set: اگر بخواهید بیشتر از یک ردیف به عنوان مجموعه نتایج بازگردانید، میتوانید از این گزینه استفاده کنید.
XML: اگر بخواهید فایل XML را به عنوان مجموعه نتایج بازگردانید، میتوانید از این گزینه استفاده کنید.

در اینجا نمای نهایی تسک Execute SQL پیکربندیشده ما آمده است.

SSIS Execute SQL Task Parameter Mapping Tab
شما باید از این Execute SQL Task Parameter Mapping tab برای نگاشت پارامترهای مشخصشده در کوئری خود استفاده کنید. اگر در کوئری شما هیچ پارامتری وجود ندارد، این بخش را ترک کنید.
اگر به بیانیه بالا توجه کنید، ما کوئری را به صورت Sales > ? مشخص کردهایم. باید مقداری (یا متغیری) به آن علامت سوال ارسال کنیم. بنابراین، لطفاً روی دکمه Add کلیک کنید تا نام result set را اضافه کنید.

به محض کلیک بر روی دکمه Add، به شما این امکان را میدهد که متغیر را به پارامتر نگاشت mapping کنید.

نام متغیر: این ویژگی لیستی از متغیرهای سیستم و متغیرهای کاربر (در صورت وجود) را نمایش میدهد؛ لطفاً متغیر مناسب را انتخاب کنید. اگر قبلاً هیچ متغیری ایجاد نکردهاید، لطفاً روی <New Variable..> کلیک کنید همانطور که در زیر نشان داده شده است.

SSIS Execute SQL Task Result Set Tab
شما باید از این زبانه Execute SQL Task Result Set برای نگاشت نتیجهای که از کوئری خود دریافت میکنید استفاده کنید. به یاد داشته باشید، اگر ویژگی Result set را به عنوان None مشخص کردهاید، این زبانه غیرفعال خواهد شد.
لطفاً روی دکمه Add کلیک کنید تا نام result set را اضافه کنید.

اینجا:
Result Name: لطفاً نام معتبر را که میخواهید برای مجموعه نتایج اختصاص دهید، مشخص کنید. پیشنهاد میکنم از نام معناداری استفاده کنید زیرا ما از این نام در تسکهای بعدی که به این تسک متصل هستند استفاده خواهیم کرد.
Variable Name: این ویژگی لیستی از متغیرهای کاربر موجود (در صورت وجود) را نمایش میدهد. لطفاً متغیر مناسب را انتخاب کنید. اگر قبلاً هیچ متغیری ایجاد نکردهاید، لطفاً روی <New Variable..> کلیک کنید.

Execute SQL Task Expressions Tab
از این زبانه برای نوشتن expressions استفاده میشود.

دیدگاهتان را بنویسید