none
(Sumber: milist sqlserver-indo ) Transfer File DBF ke SQL SERVER RRS feed

  • Pertanyaan

  • Dear,

     

    Saya punya program yang menghasilkan sebuah file DB dengan format contoh : 14_04_11.dbf  (tanggal 14, bulan April, Tahun 2011),

     

    file itu otomatis tercreate setiap hari tentunya dengan nama file sesuai tanggal, bulan, tahun create yang berbeda setiap harinya

     

     

     

    Field dari table itu adalah :

     

    1.       Nomor (key)

     

    2.       Nilai

     

     

     

    Saya akan pindahkan  file-file tersebut kedalam satu buah table di SQL Server misal dengan nama : Table_Usage

     

    Table_Usage mempunyai field

     

    1.       Tanggal (diambil dari tanggal setiap file) (key)

     

    2.       Nomor(key)

     

    3.       Nilai

     

     

     

    Rencanya Saya akan buat schedule otomatis  untuk mentransfer data2 harian dari file dbf tersebut ke Table_Usage yang ada di SQL server

     

     

     

    Bagaimana caranya (toolbox2 apa yang saya gunakan) di SSIS untuk membuat schedule tersebut..?

     

    Atau dengan cara storeprocedure yang akan saya schedule di agent (bagaimana kira2 logic storeprocedurenya)

     

    Apakah ada yang mempunyai contoh seperti kasus saya di atas, mohon sharingnya

     

     

     

     

     

    Terima Kasih Sebelumnya

     

    Salam

    Rachmat


    Microsoft
    Kamis, 21 April 2011 05.13

Jawaban


  • Pak Rachmat,
    Untuk transfer file DBF ke SQL, mungkin bisa menggunakan OPENROWSET

    OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
    DBQ=[Path to data];
    SourceType=DBF',
    SQL Query)

    untuk contoh store procedure nya, kira - kira seperti ini :

    CREATE PROCEDURE dbo.sp_Transfer
        @FileName nvarchar(50) = '14_04_11.dbf'

    AS

    declare    @Tanggal smalldatime, @Path nvarchar(255)

    set    @Path = '' -- diisi dengan folder dimana file dbf disimpan

    set    @Tanggal = cast((substring(@FileName, 4, 2) + '/' + left(@FileName, 2) + '/20' + substring(@FileName, 7,2)) as smalldatetime)

    insert into Table_Usage
    select    @Tanggal, *
    from    OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
                            DBQ=' + @Path + ';SourceType=DBF','SELECT * FROM ' +
                             left(@FileName, 8))

    Silahkan mencoba...

    Pengirim: Jovita

    Microsoft
    Kamis, 21 April 2011 05.14