"> Import کردن یک فایل Flat به همراه جزئیات در SSIS | ام اس پی سافت

Import کردن یک فایل Flat به همراه جزئیات در SSIS

فایل Flat

در این مقاله، به صورت گام به گام نشان می دهیم که چگونه یک فایل flat را که شامل عنوان و جزئیات رکوردهای دیتابیس SQL Server با فرمت های متفاوت می باشد با استفاده از SSIS وارد کنیم. با من همراه باشید …

فایل Flat

بخش کد:

پیش نیازها

یک فایل ورودی (input.txt) با رکوردهای عنوان و جزئیات

جدول های Header و Detail در دیتابیس

محتوای فایل Flat (Input.txt)

H1100

D1050P1

D1050P2

H2200

D2100P3

D2100P4

مشخصات رکوردهای Header/Detail

فایل Flat

اسکریپت جدول های Header و Detail

CREATE TABLE [dbo].[Header](
    [id] [varchar](50) NOT NULL,
    [amount] [int] NOT NULL
)

CREATE TABLE [dbo].[Detail](
    [id] [varchar](50) NOT NULL,
    [amount] [int] NOT NULL,
     [char](100) NOT NULL
)

گام ۱: یک Data Flow Task به Control Flow اضافه می کنیم.

فایل Flat

گام ۲: یک Flat File Source به Data Flow اضافه می کنیم.

فایل Flat

گام ۳: Flat File Source را تنظیم می کنیم.

نام فایل را انتخاب می کنیم (Input.txt)

فرمت آن را روی “Ragged Right” می گذاریم

فایل Flat

گام ۴: Script Component را از Data Flow Transformations اضافه کرده و Flat File Source را به آن اضافه می کنیم.

فایل Flat

گام ۵: روی Script Component دابل کلیک کرده و Input Columns را به شکل زیر تنظیم می کنیم:

فایل Flat

گام ۶: خروجی را مانند شکل زیر در تب Input and Outputs برای هر یک از header و detail تنظیم می کنیم.

فایل Flat

گام ۷: روی Edit Script کلیک کرده و کد زیر را در پنجره script و زیر Input0_ProcessInputRow می نویسیم.

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    if (Row.Line.Substring(0, 1) == "H")
    {
        HeaderBuffer.AddRow();       
        HeaderBuffer.id = Row.Line.Substring(1, 1);
        HeaderBuffer.amount = Convert.ToInt16(Row.Line.Substring(2, 3));
    }
    else if (Row.Line.Substring(0, 1) == "D")
    {
        DetailBuffer.AddRow();
        DetailBuffer.id = Row.Line.Substring(1, 1);
        DetailBuffer.amount = Convert.ToInt16(Row.Line.Substring(2, 3));
        DetailBuffer.product = Row.Line.Substring(5, 2);
    }
}

گام ۸: دو OLE DB Destination برای header و detail اضافه کرده و خروجی script component هر یک از Header و Detail را به آن ها متصل کند.

فایل Flat

گام ۹: OLE DB Destination را مانند زیر برای Header و Detail تنظیم می کنیم.

فایل Flat

فایل Flat

گام ۱۰: حال package را اجرا می کنیم.

فایل Flat

گام ۱۱: package با موفقیت اجرا می شود. حال داده های جدول ها را بررسی می کنیم.

select * from Header
select * from Detail

خروجی

فایل Flat

موفق باشید !

  • پسورد: www.mspsoft.com
داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

کدیشن ! مارکت پروژه های برنامه نویسی راه اندازی شدیه توکه پا بریم ببینم