“C:”附近的语法错误。关键字'with'附近的语法错误
'C:'附近的语法错误。关键字'with'附近的语法不正确。如果此语句是公用表表达式,xmlnamespaces子句或变更跟踪上下文子句,则前面的语句必须以分号结尾。“C:”附近的语法错误。关键字'with'附近的语法错误
SqlConnection objcon = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;");
SqlCommand sqlcmd = new SqlCommand();
protected void btnBackup_Click(object sender, EventArgs e)
{
try
{
string _DatabaseName = ddlDatabases.SelectedItem.Text.ToString();
string _BackupName = _DatabaseName + "_" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + "_" + DateTime.Now.Year.ToString() + ".bak";
objcon.Open();
string sqlQuery = "BACKUP DATABASE " + _DatabaseName + " TO DISK = 'C:\\SQLServerBackups\\" + _BackupName + "' WITH FORMAT, MEDIANAME = 'Z_SQLServerBackups', NAME = '" + _BackupName + "';";
SqlCommand sqlCommand = new SqlCommand(sqlQuery, objcon);
sqlCommand.CommandType = CommandType.Text;
int iRows = sqlCommand.ExecuteNonQuery();
objcon.Close();
lblMessage.Text = "The " + _DatabaseName + " database Backup with the name " + _BackupName + " successfully...";
ReadBackupFiles();
}
catch (SqlException sqlException)
{
lblMessage.Text = sqlException.Message.ToString();
}
catch (Exception exception)
{
lblMessage.Text = exception.Message.ToString();
}
}
尝试以下操作:
SqlConnection objcon = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;");
SqlCommand sqlcmd = new SqlCommand();
protected void btnBackup_Click(object sender, EventArgs e)
{
try
{
string _DatabaseName = ddlDatabases.SelectedItem.Text.ToString();
string cleandb=Path.GetFileNameWithoutExtension(_DatabaseName);
string _BackupName = cleandb + "_" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + "_" + DateTime.Now.Year.ToString() + ".bak";
objcon.Open();
string sqlQuery = "BACKUP DATABASE [" + _DatabaseName + "] TO DISK='C:\\SQLServerBackups\\" + _BackupName + "'";
SqlCommand sqlCommand = new SqlCommand(sqlQuery, objcon);
sqlCommand.CommandType = CommandType.Text;
int iRows = sqlCommand.ExecuteNonQuery();
objcon.Close();
lblMessage.Text = "The " + _DatabaseName + " database Backup with the name " + _BackupName + " successfully...";
ReadBackupFiles();
}
catch (SqlException sqlException)
{
lblMessage.Text = sqlException.Message.ToString();
}
catch (Exception exception)
{
lblMessage.Text = exception.Message.ToString();
}
}
我已经删除的备份命令多余的参数,用括号括起来的数据库名称,并删除周围等于空格DISK =
我得到这个错误兄弟...无法打开备份设备'C:\ SQLServerBackups \ C:\ USERS \ MOHAMMED ZUBAIR \ DOCUMENTS \ VISUAL STUDIO 2012 \ PROJECTS \ WEBAPPLICATION11 \ WEBAPPLICATION11 \ APP_DATA \ DATABASE1.MDF_18_5_2015.bak'。操作系统错误123(文件名,目录名称或卷标语法不正确。)。 BACKUP DATABASE正在异常终止。 –
您的路径不正确。它看起来像你的数据库名正在作为一个路径。 –
备份在哪里?它是'C:\ SQLServerBackups'还是'C:\ USERS \ MOHAMMED ZUBAIR \ DOCUMENTS \ VISUAL STUDIO 2012 \ PROJECTS \ WEBAPPLICATION11 \ WEBAPPLICATION11 \ APP_DATA'?你们俩都在你们的道路上。 – PeteGO
签署可能的重复[获取奇怪的错误,SQL Server查询使用'WITH'子句](http://*.com/questions/2746916/getting-an-odd-error-sql-server-query-using-with - 条款) – Jonesopolis
任何人都可以请帮助 –
此外,不只是pos t代码和错误消息。给一些背景,告诉我们你的尝试。 – Jonesopolis