注册 登录
编程论坛 ASP.NET技术论坛

关于数据备份问题

apple0129 发布于 2008-05-22 15:14, 656 次点击
我想把数据备份,但是总是出现一下错误,不知道是什么原因。请高手指教、代码如下:
private void Linkbutton3_Click(object sender, System.EventArgs e)
        {
            //数据库备份
            string syspath = Server.MapPath("~/data/");
            SQLBACK("127.0.0.1", "sa", "", "peisong", syspath  );

        }

        protected void SQLBACK(string ServerIP, string LoginUserName, string LoginPass, string DBName, string BackPath)
        {
        
            SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
            SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
            try
            {
                oSQLServer.LoginSecure = false;
                oSQLServer.Connect(ServerIP, LoginUserName, LoginPass);
                oBackup.Action = 0;
                oBackup.Database = DBName;
                oBackup.Files = @" " + BackPath + "peisong.bak";
                oBackup.BackupSetName = DBName;
                oBackup.BackupSetDescription = "数据库备份";
                oBackup.Initialize = true;
                oBackup.SQLBackup(oSQLServer);
                Response.Write("<script>alert('数据备份成功!')</script>");
            }
            catch (Exception e)
            {
                throw new Exception(e.ToString());
            }
            finally
            {
                oSQLServer.DisConnect();
            }
        }

“/zyp”应用程序中的服务器错误。
--------------------------------------------------------------------------------

System.Runtime. (0x80040000): [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). at SQLDMO.SQLServerClass.Connect(Object ServerName, Object Login, Object Password) at zyp.left.SQLBACK(String ServerIP, String LoginUserName, String LoginPass, String DBName, String BackPath) in e:\ps\zyp\left.aspx.cs:line 243
2 回复
#2
beniao2008-05-25 04:07
代码有问题  自个儿好好检查下。
#3
yyltt2008-05-25 12:16
数据库连接的问题吧,我在vs2008和SQL2005中的连接和你的不一样,你如果也是这个环境,就查查文档吧,我记得几个provider是SQL Server,OLE DB,ODBC,语法格式有些变动,我只用了SQLServer这一个,这也是微软推荐的,确实很好用,其他几个也应该可用的。

先检查这两个引用有没有
using sytem.data;
using system.data.sqlclient;

再建立连接对象
SqlConnection connectme=new SqlConnection();
connectme.ConnectionString="Data Source=localhost;Initial Catalog=数据库名;Integrated Security=SSPI";

建立连接
connectme.Open();

你先连接,看能不能成功,再操作数据库
上面的是C#代码
1