C#窗体应用程序下的数据库备份方法...
网上查阅了下方法...1.使用SQL语句来备份数据库 2.使用SQLDMO组件来备份数据库本人使用的第二种方法:
问题出在红色句子上..不知如何改写
因为做项目时……数据源的来源选择了SQL数据库文件 导致本地SQL服务器下没有我所要备份的数据库……
换用本地服务器下任意数据库均备份成功
尝试把数据库导入本地服务器下也失败了
请教下解决方法 恩... --------------------编程问答-------------------- 尝试把数据库导入本地服务器下也失败了
报什么错误?
--------------------编程问答-------------------- 直接sqlconnection连接SQLSERVER,然后SQL脚本备份 --------------------编程问答-------------------- 学习。。。 --------------------编程问答-------------------- 不清楚怎么回事 --------------------编程问答-------------------- CREATE proc dbo.Data_Backup @dbname sysname='',@bkpath nvarchar(260)='',@bkfname nvarchar(260)='',@bktype nvarchar(10)='DB',@appendfile bit=1
as declare @sql varchar(8000) if isnull(@dbname,'')='' set @dbname=db_name() if isnull(@bkfname,'')=''
set @bkfname='\DBNAME\_\DATE\_\TIME\.BAK' set @bkfname=replace(replace(replace(@bkfname,'\DBNAME\',@dbname),'\DATE\',convert(varchar,getdate(),112)),'\TIME\',replace(convert(varchar,getdate(),108),':',''))
update XTSZ set FNAME=@bkfname
set @sql='backup '+case @bktype when 'LOG' then 'log ' else 'database ' end +@dbname +' to disk='''+@bkpath+@bkfname +''' with '+case @bktype when 'DF' then 'DIFFERENTIAL,' else '' end+case @appendfile when 1 then 'NOINIT' else 'INIT' end
exec(@sql)
http://topic.csdn.net/u/20100422/16/5774810d-a6f9-4a2a-bcc9-977c709adaf9.html?80552 --------------------编程问答-------------------- 这是数据库连接字段……连接SQL实例时使用附加数据库
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DatabaseYDGL.mdf;Integrated Security=True;User Instance=True"
这是备份数据库的SQL语句
SqlConnection Conn = DataConnection.MyConnection();
public void BackupDataBase()
{
string DataBaseName = "DatabaseYDGL";
string DataBaseOfBackupName = @"back.bak";
string DataBaseOfBackupPath = @"D:\Program Files\Microsoft SQL Server\MSSQL\Data\";
try
{
Conn.Open();
SqlCommand Comm = new SqlCommand();
Comm.Connection = Conn;
Comm.CommandText = "use master;backup database @dbname to disk = @backupname;";
Comm.Parameters.Add(new SqlParameter(@"dbname", SqlDbType.NVarChar));
Comm.Parameters[@"dbname"].Value = DataBaseName;
Comm.Parameters.Add(new SqlParameter(@"backupname", SqlDbType.NVarChar));
Comm.Parameters[@"backupname"].Value = @DataBaseOfBackupPath + @DataBaseOfBackupName;
Comm.CommandType = CommandType.Text;
Comm.ExecuteNonQuery();
MessageBox.Show("备份数据库成功", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
Conn.Close();
}
}
这是错误信息
这个问题怎么解决啊... --------------------编程问答--------------------
补充:.NET技术 , C#