Transfer Data MySql To MSSQL Server

Project Review  

     Tidak asing lagi jika suatu perusahaan tidak hanya memakai 1 layanan database, bahkan mamakai layanan yang berbayar tetapi juga memakai yang free untuk hal2 tertentu yang tingkat urgentnya lebih rendah. nahh terkadang ada data yang perlu di integrasi dari satu database ke database lain baik itu dalam produk yang sama(mysql to mysql) ataupun beda(mysql to mssql). Kesempatan ini aku mencoba menjelaskan cara mentransfer data dari satu database ke database dari layanan produk yang berbeda(mysql to mssql) dengan memakai mysqlconnector. Ada banyak cara untuk mentransfer data dari Mysql ke Microsoft Sql Server seperti memakai fitur Integration Services Project melalui tools bawaan MSSQL yaitu SQL Server Business Intelligence Development Studio dan memakai my sql connector. Pada kesempatan ini aku mencoba memakai ?? MySql Connector Net! yang bisa didownload di website MySQL dan aku memakai edisi terakhirnya saat ini, Mysql Connector Net versi-6.1.6

How To Use
   Aplikasi ini dijalankan di server secara otomatis untuk mentransfer data mysql ke mssql, tentunya setelah user membuatkan Task di Task Scheduler nya Windows Server seperti gambar dibawah berikut.
task scheduler
   
     Nantinya aplikasi ini akan dijalankan sesuai scheduler yang telah diset. Memang tak terlihat di menu bar windows akan tetapi aplikasi ini akan terlihat di task manager ketika aplikasi sedang berjalan, akan ada message box jika aplikasi ini ada kendala semisal koneksi terputus dll. berikut contoh message box beserta source codenya : mysql to mssql Source Code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;

namespace MySql2MsSql
{
    public partial class Form1 : Form
    {
        public static SqlConnection con = new SqlConnection(@"Server=IHSAN-PC;Database=hotel;User ID=sa;Password=******;");
        public static MySqlConnection conmysql = new MySqlConnection(@"server=localhost;Database=mydb;uid=root;");//port=3306;password=******";
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        public void Form1_Load(object s, EventArgs e)
        {
            btnProcess.PerformClick();
            this.Dispose();
        }
        private void btnProcess_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            MySqlDataAdapter da = new MySqlDataAdapter();
            SqlDataAdapter da2 = new SqlDataAdapter();
            MySqlConnection cn = new MySqlConnection();
            da.SelectCommand = new MySqlCommand("select * from tablex", conmysql);
            da.SelectCommand.CommandType = CommandType.Text;
            try
            {
                da.Fill(ds, "dssqltable");
            }
            catch (Exception exconvert) { MessageBox.Show(exconvert.Message); }

            DataTable sqltable = new DataTable();
            sqltable.Columns.Add("data");

            if (ds.Tables["dssqltable"] != null)
            {

                if (ds.Tables["dssqltable"].Rows.Count > 0)
                {
                    foreach (DataTable table in ds.Tables)
                    {
                        try
                        {
                            foreach (DataRow row in table.Rows)
                            {

                                var execquery1 = row["datacolumn1"].ToString();
                                var execquery2 = row["datacolumn2"].ToString();
                                var execquery3 = row["datacolumn3"].ToString();
                                var execquery4 = row["datacolumn4"].ToString();
                                da2.InsertCommand = new SqlCommand(" exec spkamarinsert '" + execquery1 + "','" + execquery2 + "','" + execquery3 + "','" + execquery4 + "' ", con);
                                try
                                {
                                    con.Open();
                                    da2.InsertCommand.ExecuteNonQuery();
                                }

                                catch (Exception exn)
                                {
                                    MessageBox.Show(exn.Message);
                                }
                                finally
                                {
                                    con.Close();
                                }
                            }
                        }
                        catch (Exception opc)
                        {
                            MessageBox.Show(opc.Message);
                        }
                    }
                }
            }
        }
    }
}

Summary
     Sebuah aplikasi yang untuk mentransfer data dari mysql ke mssql server. Di tanam di Task Scheduler sehingga berjalan otomatis di windows. Trik yang sangat simple dan efektif bukan (: Hubungi Contact jika membutuhkan informasi lebih lanjut. Wassalam..

0 comments:

Post a Comment