استفاده از SSIS برای انتقال تصاویر از یک دایرکتوری به بانک اطلاعاتی

استفاده از SSIS برای انتقال تصاویر از یک دایرکتوری به بانک اطلاعاتی

نوشته شده توسط: حمید دوست پرور
۰۲ دی ۱۳۹۹
زمان مطالعه: ۱۴ دقیقه
۳
(۵)

مقدمه

در این مقاله آموزشی ما قصد داریم تصاویری که در یک دایرکتوری ذخیره شده است را به با استفاده از SQL Server Integration Services به یک جدول در SQL Server منتقل کنیم.

معمولاً ما از روش‌های زیر برای ذخیره تصاویر در SQL Server استفاده می‌کنیم.

۱.ذخیره تصویر درون بانک اطلاعاتی با استفاده از نوع داده (Varbinary (Max
۲.  استفاده از Filestream برای ذخیره تصویر در خارج از بانک اطلاعاتی
۳.  استفاده از FileTable برای ذخیره تصویر در خارج از بانک اطلاعاتی

ولی در مواردی هم می‌توان دیتا و تصاویر را درون جداول دیتابیس ذخیره کرد‌، مثلا در این نمونه من در یکی از جداول دیتابیسم لیست کارمندانی را دارم که باید تصاویر آن‌ها که هر کدام زیر ۱۰ کیلو بایت هستند را ذخیره کنم و در داشبورد مدیریتی مدیران از آن‌ها استفاده کنم.
برای انتقال تصویر از یک دایرکتوری به دیتابیس می‌توان از پکیجی در SSIS  بدین شیوه طرح کرد.
با ایجاد یک Data Flow Task آغاز می‌کنیم.
یک متغیر برای تعیین مسیر در نظر بگیرید
می‌توانید این مورد را بشکل پارامتری برای پکیج هم در نظر بگیرید.
در این مرحله برای آنکه لیست فایل‌های داریکتوری را بدست آوریم یک Script Component را بعنوان Source اضافه می‌کنیم.


متغیری که تعریف کردیم در این مرحله به Script Component بعنوان متغیر معرفی می‌کنیم.
در قسمت خروجی یک ستون اضافه می‌کنیم و مقدار آن را رشته‌ای ۲۵۶ کاراکتری در نظر می‌گیریم.
روی دکمه‌ی Edit Script کلیک می‌کنیم و در اولین قدمsystem.IO  را Use می‌کنیم.
در متد(CreateNewOutputRows) قطعه کد زیر را برای دریافت نام کامل فایل‌های موجود وارد می‌کنیم. (می‌توان از همین‌جا کدی برای دریافت باینزی تصاویر هم نوشت که در این سناریو من راه دیگری در نظر دارم!)
Script راSave  کرده و سپس پنجره Task Script را OK کنید.
یک Import Column به پروژه اضافه کنید و وارد قسمت تنظیمات آن شوید.
در این قسمت ستون ورودی را انتخاب کنید.
به تبInput and output Properties  می‌رویم و یک ستون خروجی با نام Image ایجاد می‌کنیم.
ID این ستون را به خاطر بسپارید. و روی ستون ورودی کلیک کنید و عدد ID را در قسمت Custom Properties و در Property با نام FileDataColumnID ثبت کنید. دکمه OK را بزنید و یک OLE DB Destination به پروژه اضافه کنید.
یک کانکشن برای Destination خود بسازید.
جدول خود را انتخاب کنید و یا آن را بسازید.ستون‌ها را MAP کرده و OK کنید.پروژه را اجرا کنید و تصاویر را در دیتابیس خود داشته باشید.می‌توانیم نتیجه را به این شکل در داشبورد اضافه کنیم.

چه رتبه ای می‌دهید؟

میانگین ۳ / ۵. از مجموع ۵

اولین نفر باش

title sign
معرفی نویسنده
حمید دوست پرور
مقالات
3 مقاله توسط این نویسنده
محصولات
1 دوره توسط این نویسنده
حمید دوست پرور

حمید دوست پرور متخصص هوش تجاری در پلتفرم مایکروسافت‌ و توسعه دهنده پروژه های هوش تجاری با نزدیک به پنج سال تجربه کاری، مدیر بانک اطلاعاتی و طراح سیستم یکپارچه سازی دیتا در پروژه سامانه آرشیو دیجیتال سازمان ملی زمین و مسکن، شامل طراحی و پیاده سازی انبار داده، پکیج های ETL و ELTَ، آنالیز سرویس مالتیدایمنشنال و تبولار ، Power BI و SSRS، متخصص هوش تجاری شرکت آیکو (حوزه بانکی و بازار سرمایه)، متخصص هوش تجاری و مدیر بانک اطلاعاتی پروژه سنهاب بیمه مرکزی ج ا ا ( کسب رتبه نخست کشوری همراه در زمینه خدمات، الکترونیکی کشور سالهای 96 و 97)

پروفایل نویسنده
title sign
معرفی محصول
title sign
دیدگاه کاربران

    • ممنون از آموزش

    • سلام
      بهترین روش برای ذخیره عکس چیست؟
      آدرس ذخیره کنم یا یکی از روش های بالا

      • با سلام و وقت بخیر
        بهترین روش برای ذخیره کردن فایل های BLOB مانند عکس،….
        استفاده از تکنولوژی File Stream و File Table در SQL Server می باشد.
        تشکر از همراهی شما

    • سلام
      بهترین روش برای ذخیره عکس چیست؟
      آدرس ذخیره کنم یا یکی از روش های بالا

      • با سلام و وقت بخیر

        بهترین روش برای ذخیره کردن فایل های BLOB مانند عکس،….
        استفاده از تکنولوژی File Stream و File Table در SQL Server می باشد.

        تشکر از همراهی شما

    • حمید تسنیم!

وبینار رایگان SQL Server؛ مسیری به سوی فرصت‌های شغلی بی‌شمار       پنج‌شنبه 30 فرودین ساعت 15
ثبت نام رایگان
close-image