پارامتر و متغیر در SSIS: تعریف، تفاوتها و کاربردها
در SQL Server Integration Services (SSIS)، دو مفهوم مهم به نام پارامتر (Parameter) و متغیر (Variable) وجود دارد که برای نگهداری مقادیر استفاده میشوند.
هر کدام از این اشیا کاربردها و ویژگیهای خاص خود را دارند که در ادامه به توضیح آنها و بررسی تفاوتهایشان میپردازیم.
تعریف پارامتر و متغیر
- متغیر (Variable): فضایی موقت برای ذخیرهسازی اطلاعات در طول اجرای پکیج.
- پارامتر (Parameter): شیای مشابه متغیر اما با تفاوتهایی در محل و نحوه استفاده.
تفاوتهای اصلیParameter و Variable
۱٫ کاربرد (Usage)
- پارامتر: برای ارسال مقادیر به پکیج قبل از اجرا استفاده میشود.
به عنوان مثال، میتوانید تاریخ امروز را به عنوان یک پارامتر ورودی به پکیج ارسال کنید تا فاکتورهای فروش امروز در انبارداده به روز شوند. - متغیر: برای نگهداری و تغییر مقادیر در طول اجرای پکیج به کار میرود.
مثلاً در پکیج ابتدا لیست مشتریان با بیشتری بدهی را محاسبه و در یک متغیر ذخیره میکنید و در ادامه گروه بندی آنها را در جدول مشتریان انبارداده تغییر میدهید.
۲٫ حوزه اعتبار (Scope)
- پارامتر:
- Project-Level: پارامترهایی که در سطح پروژه (در فولدر Project.Params )تعریف شدهاند و در تمام پکیجها قابل دسترسی هستند.
- Package-Level: پارامترهایی که فقط در همان پکیج قابل استفادهاند.
- متغیر: تنها در همان پکیج و کامپوننتهای مرتبط قابل استفاده بوده و در سطح پروژه مشترک نیست.
۳٫ رفتار در زمان اجرا (Execution Time Behavior)
- پارامتر: مقدار آن در طول اجرای پکیج ثابت و غیرقابل تغییر (Read-Only) است.
- متغیر: مقدار آن در طول اجرای پکیج میتواند چندین بار تغییر کند، بنابراین برای محاسبات پویا مناسبتر است.
۴٫ پشتیبانی از انواع دادهای (Data Types)
- متغیر: از تمامی انواع دادهای در SSIS، از جمله Object (برای ذخیره آرایهها و لیستها) پشتیبانی میکند.
- پارامتر: از انواع دادهای مختلفی به جز DBNull، Char و Object پشتیبانی میکند.
نحوه تعریف پارامترها و متغیرها در SSIS
تعریف پارامتر در سطح پروژه (Project-Level Parameter):
- از پنجره Solution Explorer، پوشه Project.params را باز کنید.
- نوع دادهای (Data Type) و مقدار پیشفرض (Default Value) را مشخص کنید.
- ویژگیهای Required و Sensitive را در صورت نیاز تنظیم کنید:
- Required: مقدار پارامتر باید در زمان اجرا توسط Caller تأمین شود.
- Sensitive: در صورت فعال بودن، مقدار پارامتر در محیط عملیاتی رمزنگاری میشود.

تعریف پارامتر در سطح پکیج (Package-Level Parameter):
- وارد پکیج شوید.
- از نوار بالا به تب Parameters بروید.
- پارامتر خود را با تنظیم مقدار و نوع دادهای تعریف کنید.

تعریف متغیر (Variable):
- وارد پکیج شوید.
- روی آیکون Variables در بالا سمت راست کلیک کنید.
- متغیر موردنظر خود را تعریف کرده و نوع دادهای و مقدار اولیه آن را مشخص کنید.

کاربردهای متغیر و پارامتر در SSIS
- ایجاد Dynamic Expression: متغیرها و پارامترها میتوانند بر اساس نتیجه یک Expression مقداردهی شوند.
- ذخیره مقادیر حساس: با فعال کردن گزینه Sensitive، امنیت مقادیر حساس در محیط عملیاتی تضمین میشود.
- بهینهسازی پکیجها: استفاده از پارامترهای سطح پروژه و متغیرهای محلی باعث انعطافپذیری و بهینهسازی اجرای پکیجها میشود.
با رعایت این اصول و استفاده از پارامترها و متغیرها، میتوانید پکیجهای قدرتمندتر و کارآمدتری در SSIS طراحی کنید.