در این آموزش نحوه خواندن فایل XML و Excel اکسل در SSIS را بررسی میکنیم.
XML یکی فرمتهای قدیمی ذخیره اطلاعات و انتقال بین پلتفرمها و زبان های مختلف برنامه نویسی هست. البته امروزه کمتر کاربرد داره.
در تصویر یک نمونه از محتوای فایل XML را میبینید.

حال خواندن دیتا از یک فایل XML و قرار دادن دیتای آن داخل یک دیتابیس را بررسی میکنیم.
Data Flow Task را باز کرده و XML Source را انتخاب کرده.

در این قسمت مطابق تصویر ، لوکیشن فایل XML و در صورت وجود ، لوکیشن فایل XSD را مشخص میکنیم.
فایل XSD در واقع یک فایل راهنما برای فایل XML است که ساختار و فیلد های فایل XML را برای ما شرح میدهد که در صورت عدم وجود چنین فایلی میتوانیم آن را در کامپوننت XML Source ، جنریت کنیم.
سپس همانند سری های قبل ،یک OLE DB Destination را در Data Flow قرار میدیم و کانفیگ می کنیم.
توجه کنید در استفاده از OLE DB Source و OLE DB Destination ، ممکن است از یک سری کانکشن ها به صورت مکرر استفاده کنیم. میتوانیم این نوع کانکشن ها را در فولدر Connection Manager در سمت راست ذخیره کنیم که همه پکیج ها و کامپوننت ها به آن دسترسی داشته باشند و در زمان صرفه جویی کنیم.
حال خواندن دیتا از اکسل و انتقال آن به دیتابیس را بررسی میکنیم.
ابتدا Data Flow Task را بر روی Control Flow قرار میدهیم و وارد آن میشویم. سپس Excel Source را قرار میدهیم.

توجه کنید که فایل اکسل میتواند شامل چندین شیت باشد و باید در Excel Source مشخص کنیم کدام شیت را میخواهیم به دیتابیس منتقل کنیم.
* توجه کنید برای اینکه انتقال دیتا از اکسل به دیتابیس توسط مراحل ETL انجام شود ، باید نرم افزاری به نام Access Database Engine را از قبل نصب کرده باشید.
حال OLE DB Destination را قرار داده و سورس را به مقصد متصل میکنیم. وارد تنظیمات مقصد شده و آن را کانفیگ میکنیم.

Mapping را انجام داده و Ok را میزنیم.
حال میتوانیم پکیج را اجرا کنیم.

نکته خیلی مهم در خواندن دیتا از فایل های اکسل این است که باید روی فایل پروژه SSIS کلیک راست کرده ، به قسمت Properties رفته ، و در قسمت Debugging ، فیلد Run64BitRuntime را روی حالت False قرار دهیم.

* میتوانید روی Pipeline راست کلیک کرده و گزینه Enable Data Viewer را انتخاب کنید. این آپشن به ما کمک میکند که هنگام اجرای پکیج ، دیتا های در حال انتقال را مشاهده کنیم که در محیط Develop مفید است.
