◎ 從備份檔還原 MS-SQL :
執行 SQL Server 2014 Management Studio --> 展開資料庫 --> 右擊 KT --> 工作 --> 還原 --> 資料庫 --> 點擊 裝置 --> 點擊 。。。 --> 加入 --> 尋找備份檔案 C:\KT\BACKSQL\KT6.bak
--> 確定 --> 確定 --> 點擊 選項 --> 勾選覆寫現有的資料庫 --> 確定
MsSQL 尋找備份檔案 |
--> 確定 --> 確定 --> 點擊 選項 --> 勾選覆寫現有的資料庫 --> 確定
MsSQL 資料庫還原成功 |
◎ Windows 還原程式:
以系統管理員身份啟動 Visual Stdio --> 檔案 --> 新增 --> 專案 -->
選擇 Windows Form 應用程式 --> 名稱:MySQLFromMSWinAP --> 確定。
C#新增專案 |
選擇 Windows Form 應用程式 --> 名稱:MySQLFromMSWinAP --> 確定。
◎ 設計畫面:
還原程式畫面設計 |
Form1 放入 buttonSEARCH,buttonAll,buttonTruncate,buttonRESTORE,buttonEXIT五個按鍵。再放入 textBoxMsSql,textBoxMysql,textBoxTimeSpan 三個 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 上 buttonSEARCH,buttonAll,buttonTruncate,buttonRESTORE,buttonEXIT五個按鍵都雙擊一次。 開始撰寫還原程式。
--> 然後按 執行
--> 然後按 執行
◎程式解析 :
○專案參考命名空間:
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using MySql.Data.MySqlClient;
○連線字串:
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;";
○buttonSEARCH_Click:
建立 dt --> 連結 MySQL 資料庫 --> 用 Show Tables 讀出 KT 資料庫所有 Tables --> 用 SELECT COUNT(*) from Table 逐一讀取 MsSQL 與 MySQL 資料表之筆數。
最後將 dataGridView1 之 DataSource 綁訂為 dt,為 dataGridView1 做細部設定 --> 然後顯示抓到之總筆數。
○buttonAll_Click:
逐一檢查 dataGridView1 之 Sel 欄位 --> 無值者放 V;有值者放空白
○buttonTruncate_Click:
逐一檢查 dataGridView1 之 Sel 欄位有值者 --> 用 Truncate Table 清除 MySQL 資料表之資料
最後將 dataGridView1 之 DataSource 綁訂為 dt,為 dataGridView1 做細部設定 --> 然後顯示抓到之總筆數。
○buttonAll_Click:
逐一檢查 dataGridView1 之 Sel 欄位 --> 無值者放 V;有值者放空白
○buttonTruncate_Click:
逐一檢查 dataGridView1 之 Sel 欄位有值者 --> 用 Truncate Table 清除 MySQL 資料表之資料
○buttonRESTORE_Click:
逐一檢查 dataGridView1 之 Sel 欄位有值者 --> 如果 MsSql 資料表之筆數小於 10000,使用 MySqlDataAdapter 技術來還原;否則以 1000 筆為單位用參數化查詢還原。
顯還原筆數,與還原使用時間。
○buttonEXIT_Click:
結束還原程式
◎執行還原程式 :
◎選擇性還原:
本程式可選擇性還原特定資料表,使用此功能時需暸解資料表的關連性。
本程式可選擇性還原特定資料表,使用此功能時需暸解資料表的關連性。
沒有留言:
張貼留言