Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > คัยเคยเขียนโปรแกรม Backup database มั่งครับ ขอตัวอย่างหน่อยครับ



 

คัยเคยเขียนโปรแกรม Backup database มั่งครับ ขอตัวอย่างหน่อยครับ

 



Topic : 067046



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์
Blogger



คือ อยากเขียนโปรแกรม Backup database SQL SERVER 2005 ครับ เขียนแบบ สามารถ Backup ทั้งก้อน หรือ เลือกที่จะ Backup เอาเฉพาะ Tables ก็ได้ครับ คัยพอจะมีแนวทาง หรือข้อแนะนำดีๆ มั่งครับ ขอบคุณล่วงหน้าครับ

นี่คือตัวอย่างน่ะครับ แต่ติดปัญหานิดหน่อย ช่วยด้วยครับ

โค๊ดในส่วนของ Form_load น่ะครับ
Code (C#)
   // Create a DataTable where we enumerate the available servers
            DataTable dtServers = SmoApplication.EnumAvailableSqlServers(true);
            // If there are any servers at all
            if (dtServers.Rows.Count > 0)
            {
                // Loop through each server in the DataTable
                foreach (DataRow drServer in dtServers.Rows)
                {
                    // Add the name to the combobox
                    // string Srname = (drServer["Name"].ToString());
                    //cmbServer.Items.Add(drServer["Name"]);  //+"\SQLEXPRESS"

                    string[] n = WindowsIdentity.GetCurrent().Name.ToString().Split('\\');
                   string srname = n[0] + "\\SQLEXPRESS";
                    cmbServer.Items.Add(srname);                                      
                }
            }



โค๊ดในส่วนที่คลิก Button Create Backup
Code (C#)
            try
            {
                // If there was a SQL connection created
                if (srvSql != null)
                {
                    // If the user has chosen a path where to save the backup file
                    if (saveBackupDialog.ShowDialog() == DialogResult.OK)
                    {
                        // Create a new backup operation
                        Backup bkpDatabase = new Backup();
                        // Set the backup type to a database backup
                        bkpDatabase.Action = BackupActionType.Database;
                        // Set the database that we want to perform a backup on
                        bkpDatabase.Database = cmbDatabase.SelectedItem.ToString();

                        // Set the backup device to a file
                        BackupDeviceItem bkpDevice = new BackupDeviceItem(saveBackupDialog.FileName, DeviceType.File);
                        // Add the backup device to the backup
                        bkpDatabase.Devices.Add(bkpDevice);
                        // Perform the backup
                        bkpDatabase.SqlBackup(srvSql);

                    }
                }
                else
                {
                    // There was no connection established; probably the Connect button was not clicked
                    MessageBox.Show("A connection to a SQL server was not established.", "Not Connected to Server", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("ปัญหา :" + ex.Message);
            }


ผลรัน
Mainmenu



Tag : .NET, Ms SQL Server 2005, C#









ประวัติการแก้ไข
2011-09-23 11:39:38
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-23 11:19:03 By : farkram View : 1429 Reply : 3
 

 

No. 1

Guest


นิดหน่อยคือตรงไหนเอย ?

ติดตั้งแต่ตอนรันเลยหรือป่าว ?

ของผมก็เอามาจาก ตย. เดียวกับคุณนั้นแหละ(จำไม่ได้แล้วว่าเว็บไหน) รันแล้ว Error !

แต่ผมกำหนดค่าให้ Server กับ Username เลย ทำให้ใช้งานได้ปกติ ไม่มีปัญหา !!

อันนี้คือที่ผมทดลองเล่นยังไม่ได้แก้ไขเพื่อไปใช้งาน จริง เอาไปลองดูครับ !

Code (C#)
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

namespace SqlBackUp
{
    public partial class Form1 : Form
    {
        private static Server srvSql;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //// Create a DataTable where we enumerate the available servers
            //DataTable dtServers = SmoApplication.EnumAvailableSqlServers(true);
            //// If there are any servers at all
            //if (dtServers.Rows.Count > 0)
            //{
            //    // Loop through each server in the DataTable
            //    foreach (DataRow drServer in dtServers.Rows)
            //    {
            //        // Add the name to the combobox
            //        cmbServer.Items.Add(drServer["Name"]);
            //    }
            //}


            ServerConnection srvConn = new ServerConnection(comboBox1.Text);

            srvConn.LoginSecure = false;

            srvConn.Login = txtUsername.Text;

            srvConn.Password = txtPassword.Text;

            srvSql = new Server(srvConn);
        }

        private void btnConnect_Click(object sender, EventArgs e)
        {
            //**************************************************
            
            // If a server was selected at all from the combobox
            if (comboBox1.Text != null && comboBox1.Text != "")
            {
                // Create a new connection to the selected server name
                ServerConnection srvConn = new ServerConnection(comboBox1.Text);
                // Log in using SQL authentication instead of Windows authentication
                srvConn.LoginSecure = false;
                // Give the login username
                srvConn.Login = txtUsername.Text;
                // Give the login password
                srvConn.Password = txtPassword.Text;
                // Create a new SQL Server object using the connection we created
                srvSql = new Server(srvConn);
                // Loop through the databases list
                foreach (Database dbServer in srvSql.Databases)
                {
                    // Add database to combobox
                    comboBox2.Items.Add(dbServer.Name);
                }
            }
            else
            {
                // A server was not selected, show an error message
                MessageBox.Show("Please select a server first", "Server Not Selected", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void btnCreate_Click(object sender, EventArgs e)
        {
            // If there was a SQL connection created
            if (srvSql != null)
            {
                // If the user has chosen a path where to save the backup file
                if (saveBackupDialog.ShowDialog() == DialogResult.OK)
                {
                    // Create a new backup operation
                    Backup bkpDatabase = new Backup();
                    // Set the backup type to a database backup
                    bkpDatabase.Action = BackupActionType.Database;
                    // Set the database that we want to perform a backup on
                    bkpDatabase.Database = comboBox2.Text;


                    // Set the backup device to a file
                    BackupDeviceItem bkpDevice = new BackupDeviceItem(saveBackupDialog.FileName, DeviceType.File);
                    // Add the backup device to the backup
                    bkpDatabase.Devices.Add(bkpDevice);
                    // Perform the backup
                    bkpDatabase.SqlBackup(srvSql);
                }
            }
            else
            {
                // There was no connection established; probably the Connect button was not clicked
                MessageBox.Show("A connection to a SQL server was not established.", "Not Connected to Server", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void btnRestore_Click(object sender, EventArgs e)
        {
            // If there was a SQL connection created
            if (srvSql != null)
            {
                // If the user has chosen the file from which he wants the database to be restored
                if (openBackupDialog.ShowDialog() == DialogResult.OK)
                {
                    // Create a new database restore operation
                    Restore rstDatabase = new Restore();
                    // Set the restore type to a database restore
                    rstDatabase.Action = RestoreActionType.Database;
                    // Set the database that we want to perform the restore on
                    rstDatabase.Database = comboBox2.Text;


                    // Set the backup device from which we want to restore, to a file
                    BackupDeviceItem bkpDevice = new BackupDeviceItem(openBackupDialog.FileName, DeviceType.File);
                    // Add the backup device to the restore type
                    rstDatabase.Devices.Add(bkpDevice);
                    // If the database already exists, replace it
                    rstDatabase.ReplaceDatabase = true;
                    // Perform the restore
                    rstDatabase.SqlRestore(srvSql);
                }
            }
            else
            {
                // There was no connection established; probably the Connect button was not clicked
                MessageBox.Show("A connection to a SQL server was not established.", "Not Connected to Server", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
    }
}







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-23 15:14:16 By : @TEENEE
 


 

No. 2



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์
Blogger

แล้วถ้าผมเขียนแบบไม่ต้องใส่ username กับ pass ล่ะครับ ต้องปรับเปลี่ยนตรงไหน ยังไงอ่ะครับ คือผมใช้ Windows Authentification อ่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-23 19:38:33 By : farkram
 

 

No. 3



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์
Blogger

มันทำ Restore ไม่ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-28 16:21:11 By : farkram
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : คัยเคยเขียนโปรแกรม Backup database มั่งครับ ขอตัวอย่างหน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่