◎ 安裝 MS-SQL Express:
下載並執行 SQLEXPRADV_x64_CHT.exe 安裝 MS-SQL Express,目前使用的是 2014 版。
◎ 建立資料庫:
執行 SQL Server 2014 Management Studio --> 連上資料庫 --> Create DataBase KT; --> Use KT; --> 在 Query 視窗輸入:--> 然後按執行建立資料表 (這個 SQL Script 與 MySQL 所用的相同)。
◎ Windows 轉檔程式:
以系統管理員身份啟動 Visual Stdio --> 檔案 --> 新增 --> 專案 -->
選擇 Windows Form 應用程式 --> 名稱:MySQL2MSWinAP --> 確定。
C#新增專案 |
選擇 Windows Form 應用程式 --> 名稱:MySQL2MSWinAP --> 確定。
◎ 設計畫面:
轉檔程式畫面設計 |
Form1 放入 buttonMy2MS,buttonBACKUP,buttonEXIT三個按鍵。再放入 textBoxMsSql,textBoxMysql,textBoxBackDir 三個 TextBox,並且將 Enabled 設為 False。在三個 TextBox 之前放入 Label,並標上適當文字。最後加上 dataGridView。習慣上我還會將 Form1 之 WindowState 放到最大:Maximized。
◎ 專案加入參考:
專案 --> 加入參考 --> C:\Program Files (x86)\MySQL\MySQL Connector Net 6.8.3\Assemblies\v4.0\MySql.Data.dll 其中 v4.0 符合 .Net Framework 4.0 。與專案的 .NET Framework 相符--> 加入 --> 確定。
MySQL Connector Net 6.8.3 v4.0 |
◎撰寫程式:
Form1 上 buttonMy2MS,buttonBACKUP,buttonEXIT三個按鍵都雙擊一次。 開始撰寫轉檔程式。
--> 然後按 執行
--> 然後按 執行
◎程式解析 :
○專案參考命名空間:
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using System.Diagnostics;
using MySql.Data.MySqlClient;
using System.Diagnostics;
○資料庫備份目錄:
textBoxBackDir.Text = @"C:\KT\BACKSQL";
○連線字串:
public string ConnectionStringMSSQL = @"server=localhost\SQLEXPRESS;database=KT;uid=PAM;pwd=12345678";
textBoxBackDir.Text = @"C:\KT\BACKSQL";
○連線字串:
public string ConnectionStringMSSQL = @"server=localhost\SQLEXPRESS;database=KT;uid=PAM;pwd=12345678";
public string ConnectionStringMySQL = @"server=192.168.0.250;database=PAM;uid=root;pwd=12345678;charset=utf8;PORT=3306;";
○buttonMy2MS_Click:
建立 dt --> 連結 MySQL 資料庫 --> 用 Show Tables 讀出 KT 資料庫所有 Tables --> 用 SELECT * from Table 逐一讀取 MySQL 資料表 --> 先用 Truncate Table 清除 MS-SQL 資料表之資料 --> 再用 SqlBulkCopy 將資料存入 MS-SQL --> 返回存入資料筆數。
最後將 dataGridView1 之 DataSource 綁訂為 dt,為 dataGridView1 做細部設定 --> 然後顯示抓到之總筆數。
最後將 dataGridView1 之 DataSource 綁訂為 dt,為 dataGridView1 做細部設定 --> 然後顯示抓到之總筆數。
○buttonBACKUP_Click:
先 Check MySql 筆數必須大於0,且 MySql 筆數等於MsSql 筆數 --> 再 Check 資料庫備份目錄必須存在 --> 在程式中執行 BACKKT.bat --> 會產生 KT + 星期.bak 的備份檔 --> 所以會有 7 個備份檔。。
顯示備份完成,並提示將備份檔案 Copy 到隨身碟。
○buttonEXIT_Click:
結束備份程式
沒有留言:
張貼留言