Click here to Skip to main content
15,910,009 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
I've try to make Restore and backup database function on my program

and I've use code on this link to based of my backup/restore my project for testing

SqlServer Backup/Restore Utility[^]

I've Load Program demo from link and it's can backup and restore my database as well

When I've copy source to my project function Back up is ok. I can backup my database as well

but when i've try to restore i've got ERROR "Restore failed for Server 'PETCHYPC-pc\sqlexpress'"

I just already change my connection string yet but why I've got this problem

this's my code

C#
Database restoreDb = (Database)cmbRestoreDb.SelectedItem;
dbName = restoreDb.Name;

Restore dbRestore = new Restore();
dbRestore.Database = restoreDb.Name;
dbRestore.Action = RestoreActionType.Database;
dbRestore.ReplaceDatabase = true;

string fileLocation = ConfigurationManager.AppSettings["SqlFileLocations"];

try
{
    BackupDeviceItem device = new BackupDeviceItem(openBakFile.FileName, DeviceType.File);
    dbRestore.Devices.Add(device);
    DataTable dtFiles = dbRestore.ReadFileList(sqlServer);
    string backupDbLogicalName = dtFiles.Rows[0]["LogicalName"].ToString();

    RelocateFile dbRf = new RelocateFile(backupDbLogicalName, string.Format("{0}\\{1}.mdf", fileLocation, dbName));
    RelocateFile logRf = new RelocateFile(string.Format("{0}_log", backupDbLogicalName), string.Format("{0}\\{1}_Log.ldf", fileLocation, dbName));
    dbRestore.RelocateFiles.Add(dbRf);
    dbRestore.RelocateFiles.Add(logRf);

    string sql = string.Empty;
    StringCollection scriptColl = dbRestore.Script(sqlServer);
    foreach (string str in scriptColl)
    {
        sql += str;
    }

    progress2.Visible = true;
    progress2.Value = 0;

    dbRestore.Complete += new ServerMessageEventHandler(dbRestore_Complete);
    dbRestore.PercentComplete += new PercentCompleteEventHandler(PercentComplete2);
    dbRestore.SqlRestore(sqlServer);
}
catch (Exception exc)
{
    dbRestore.Abort();
    MessageBox.Show(string.Format("Exception occured.\nMessage: {0}", exc.Message));


Can anyone to help me

Ps. Sorry for my English . Now I've practice to use it
Posted

1 solution

I've got the solution

i put "Initial Catalog=master" to my connectionstring and it's work good
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900