minaalamshahi
پنج شنبه 08 اردیبهشت 1390, 01:29 صبح
سلام من برای back up گیری از data base sql express رو پلسکم مشکل دارم و خطای پایین رو دارم
البته تا زمانیکه برنامه روی هاست نرفته مشکلی ندارم.حتی من
publish
برنامه رو روی lanداخل شرکت جواب گرفتم اما روی هاست نه.
Server Error in '/' Application.
Cannot open backup device 'C:\inetpub\vhosts\ma.com\httpdocs\backup\MyDB1.BA K'. Operating system error 5(Access is denied.).
BACKUP DATABASE is terminating abnormally.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Cannot open backup device 'C:\inetpub\vhosts\ma.com\httpdocs\backup\MyDB1.BA K'. Operating system error 5(Access is denied.).
BACKUP DATABASE is terminating abnormally.
Source Error:
Line 35: //cmd.Parameters.Add("@disk",Server.MapPath("Backup.BAK"));
Line 36: con.Open();
Line 37: cmd.ExecuteNonQuery();
Line 38: con.Close();
برای اینکار از دستورات زیر استفاده می کنم.
privatestring dataaccess()
{
string str = "data source=ma.com; initial catalog=ma;uid=ma;pwd=1234";
return str;
}
protectedvoid Button1_Click(object sender, EventArgs e)
{
SqlConnection con=newSqlConnection(dataaccess());
SqlCommand cmd = newSqlCommand("spBackupDB", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@strPath", Server.MapPath(".") + "\\backup\\MyDB.BAK");
con.Open();
cmd.ExecuteNonQuery();
con.Close();
/////
setANSI_NULLSON
set
QUOTED_IDENTIFIERON
GO
ALTERPROCEDURE [dbo].[spBackupDB]
(
@strPath nvarchar(255)
)
AS
BACKUP
DATABASE ma TODISK= @strPath
/* SET NOCOUNT ON */
RETURN
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
حتی حدود دسترسی به فولدر
back up
رو هم به درستی تعیین کردم
در ضمن اگر از روش پایین استفاده کنم برای
bakup
مشکلی ندارم
اما من احتیاج دارم که
backup رو
با پسوند.bak
به جای xml
داشته باشم.
protectedvoid BackUpNow(object sender, EventArgs e)
{
string tableName = ListBox1.SelectedValue;
using (DataSet dSetBackup = newDataSet())
{
using (SqlConnection con = newSqlConnection())
{
con.ConnectionString = "data source=ma.com;initial catalog=ma;uid=ma;pwd=1234";
using (SqlDataAdapter dAd = newSqlDataAdapter("select * from " + tableName, con))
{
dAd.Fill(dSetBackup, tableName);
}
}
dSetBackup.WriteXml(Server.MapPath("~/backup/" + tableName + ".xml"));
lblMessage.Text = "Backup for table <b>" + tableName + "</b> successful!";
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
این روش رو هم با اینکه نمیدونم چیکار میکنه امتحان کردم اما جواب نداد
protectedvoid Button1_Click(object sender, EventArgs e)
{
try
{
//string DBpath = Application.StartupPath;
//Use this line if you have already created a bakup file.
File.Delete(Server.MapPath("~/backup/1.bak"));
//this.Cursor = Cursors.WaitCursor;
// If the user has chosen a path where to save the backup file
// Create a new backup operation
Backup bkpDatabase = newBackup();
// 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 = "ma";
// Set the backup device to a file
BackupDeviceItem bkpDevice = newBackupDeviceItem(Server.MapPath("~/backup/1.bak"), DeviceType.File);
// Add the backup device to the backup
bkpDatabase.Devices.Add(bkpDevice);
// Perform the backup
bkpDatabase.SqlBackup(srvr);
Response.Write ("Bakup of Database ma successfully created");
}
catch (Exception e1)
{
Response.Write(e1.ToString());
}
}
ممنون میشم راهنماییم کنید
البته تا زمانیکه برنامه روی هاست نرفته مشکلی ندارم.حتی من
publish
برنامه رو روی lanداخل شرکت جواب گرفتم اما روی هاست نه.
Server Error in '/' Application.
Cannot open backup device 'C:\inetpub\vhosts\ma.com\httpdocs\backup\MyDB1.BA K'. Operating system error 5(Access is denied.).
BACKUP DATABASE is terminating abnormally.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Cannot open backup device 'C:\inetpub\vhosts\ma.com\httpdocs\backup\MyDB1.BA K'. Operating system error 5(Access is denied.).
BACKUP DATABASE is terminating abnormally.
Source Error:
Line 35: //cmd.Parameters.Add("@disk",Server.MapPath("Backup.BAK"));
Line 36: con.Open();
Line 37: cmd.ExecuteNonQuery();
Line 38: con.Close();
برای اینکار از دستورات زیر استفاده می کنم.
privatestring dataaccess()
{
string str = "data source=ma.com; initial catalog=ma;uid=ma;pwd=1234";
return str;
}
protectedvoid Button1_Click(object sender, EventArgs e)
{
SqlConnection con=newSqlConnection(dataaccess());
SqlCommand cmd = newSqlCommand("spBackupDB", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@strPath", Server.MapPath(".") + "\\backup\\MyDB.BAK");
con.Open();
cmd.ExecuteNonQuery();
con.Close();
/////
setANSI_NULLSON
set
QUOTED_IDENTIFIERON
GO
ALTERPROCEDURE [dbo].[spBackupDB]
(
@strPath nvarchar(255)
)
AS
BACKUP
DATABASE ma TODISK= @strPath
/* SET NOCOUNT ON */
RETURN
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
حتی حدود دسترسی به فولدر
back up
رو هم به درستی تعیین کردم
در ضمن اگر از روش پایین استفاده کنم برای
bakup
مشکلی ندارم
اما من احتیاج دارم که
backup رو
با پسوند.bak
به جای xml
داشته باشم.
protectedvoid BackUpNow(object sender, EventArgs e)
{
string tableName = ListBox1.SelectedValue;
using (DataSet dSetBackup = newDataSet())
{
using (SqlConnection con = newSqlConnection())
{
con.ConnectionString = "data source=ma.com;initial catalog=ma;uid=ma;pwd=1234";
using (SqlDataAdapter dAd = newSqlDataAdapter("select * from " + tableName, con))
{
dAd.Fill(dSetBackup, tableName);
}
}
dSetBackup.WriteXml(Server.MapPath("~/backup/" + tableName + ".xml"));
lblMessage.Text = "Backup for table <b>" + tableName + "</b> successful!";
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
این روش رو هم با اینکه نمیدونم چیکار میکنه امتحان کردم اما جواب نداد
protectedvoid Button1_Click(object sender, EventArgs e)
{
try
{
//string DBpath = Application.StartupPath;
//Use this line if you have already created a bakup file.
File.Delete(Server.MapPath("~/backup/1.bak"));
//this.Cursor = Cursors.WaitCursor;
// If the user has chosen a path where to save the backup file
// Create a new backup operation
Backup bkpDatabase = newBackup();
// 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 = "ma";
// Set the backup device to a file
BackupDeviceItem bkpDevice = newBackupDeviceItem(Server.MapPath("~/backup/1.bak"), DeviceType.File);
// Add the backup device to the backup
bkpDatabase.Devices.Add(bkpDevice);
// Perform the backup
bkpDatabase.SqlBackup(srvr);
Response.Write ("Bakup of Database ma successfully created");
}
catch (Exception e1)
{
Response.Write(e1.ToString());
}
}
ممنون میشم راهنماییم کنید