Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用asp.net页将数据库从服务器备份到客户端计算机_C#_Asp.net - Fatal编程技术网

C# 如何使用asp.net页将数据库从服务器备份到客户端计算机

C# 如何使用asp.net页将数据库从服务器备份到客户端计算机,c#,asp.net,C#,Asp.net,我使用代码C#编写了一页数据,将.bak文件从服务器备份到客户机。当我在电脑上测试时,我的电脑非常好。当使用connectionString web.cofig通过另一台计算机连接时,它会再次出现如下错误。这是一个像以前或解决办法,请帮助 私有字符串_ConnectionString=ConfigurationManager.ConnectionString[“ConnectionString”].ToString() 当你在电脑上运行这个程序时,一切正常,因为它是为你的系统设置的。如果您想转

我使用代码C#编写了一页数据,将.bak文件从服务器备份到客户机。当我在电脑上测试时,我的电脑非常好。当使用connectionString web.cofig通过另一台计算机连接时,它会再次出现如下错误。这是一个像以前或解决办法,请帮助

私有字符串_ConnectionString=ConfigurationManager.ConnectionString[“ConnectionString”].ToString()


当你在电脑上运行这个程序时,一切正常,因为它是为你的系统设置的。如果您想转移到您的系统或与服务器分离的另一台计算机上,有几件事可以做。您可以从希望程序将文件放入的系统中创建一个共享驱动器,因为共享文件夹的处理方式与普通文件夹/驱动器不同,因此该驱动器可能工作,也可能不工作。我将编写一个上传程序,在服务器转储到服务器有权访问的预定义文件夹后,连接到文件服务器并将备份文件自动上传到那里。有一些非常好的文件上传库可供C#使用,它们可以为您自动化此过程。因此,您可以有一个asp.net页面,该页面可以像当前系统一样放置备份文件,还有另一个c#程序,该程序设置为使用调度程序在特定时间运行,并从服务器远程将备份上载到所需位置

希望这是有意义的,如果你有任何问题,请告诉我


下面是让C#从文件位置自动上载文件的代码。您需要在要备份的计算机上设置ftp服务器。否则,唯一的解决方法就是让文件可以从相关服务器上下载,这意味着让文件夹在互联网上可见。但我会选择ftp选项,因为它是最灵活的。

您是在联机模式下创建备份,还是只在服务器中创建备份?如果你的服务器上有一些文件,实现下载功能,这就是你所需要的

Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename="+file);
Response.TransmitFile(Server.MapPath("~/backups/"+file)); //backup must be located in folder in your application folder, that folder named *backups*
Response.End(); //file is a filename of your backup: e.g. 20151224.bak
如果您在线创建备份并希望将其发送给用户,则必须执行以下步骤(这只是一种方法):

1) 进行备份并将其保存到应用程序文件夹中的某个临时文件夹中

2) 实现我前面展示的下载页面(用户将下载)

3) 用户下载后,您将立即删除临时备份文件


希望对您有所帮助

请发布您的代码和更多详细信息错误说明一切,文件路径不正确欢迎使用stackoverflow:)ReadBackupFiles()方法在哪里?在dev上,您的sql server和站点在同一台机器上吗?部署时它们可能在不同的机器上吗?那么现在还有其他解决方案吗?引导我到webservice,当备份服务器上的数据时,文件夹中的backup.bak文件将被保存到客户端。但我不知道如何做好这件事。你能帮我吗?当然!你能把代码添加到上面的问题中吗?我将寻找FTP上传程序,这将有助于自动化上传过程。有点像用bash脚本做cron工作的一种循环方式。但如果我能看到问题中的代码,这将帮助我了解您是如何在系统上进行备份的。我马上就要睡觉了,所以我可能要到第二天早上才能给你回电话。但是程序也说驱动器不正确。所以这可能是我的误解。您是否确保在系统上的驱动器和文件夹位置也指向了程序?在我看来,程序是在您的系统上编写的,然后移动到服务器上,然后停止运行。所以我可能有误解。所以,更多的澄清会帮助我。谢谢你分享你的想法。我必须添加代码。你可以对待自己,答案是否定的?不知道你的意思是什么。但是您在代码中使用的文件位置不正确,即将文件保存到服务器上的一个位置“D:\\SQLServerBackups”谢谢!但这几乎就像服务器上已经存在的备份。bak文件副本就在上面。所以他们自己不会。我只想备份存储在服务器上用户计算机上的文件。而不是通过操纵存储在服务器硬盘上,然后复制用户的电脑反正非常感谢。因为你给了我更多的一条路也是好的
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename="+file);
Response.TransmitFile(Server.MapPath("~/backups/"+file)); //backup must be located in folder in your application folder, that folder named *backups*
Response.End(); //file is a filename of your backup: e.g. 20151224.bak