如题。
小弟最近在做一个东东(C/S模式),里面有一个功能是备份或还原远程机器的数据库。但是备份时,要让用户选择备份的目录,(该目录为远程机器的目录,而非程序运行的目录)。还原时虽不要求浏览目录,但是要把备份的文件下载到本机器中。(注:远程机器的数据库实例,用户名,密码及系统登录的用户名和密码都正确且权限都够)。这就涉及到把远器中的所有目录全部列出来。并及文件的上传和下载。因为在恢复时必须把文件给复制到远程机器上。
恳请各位大哥帮忙解决。欢迎给出思想和源码。对有助于解决问题的一律加分。分数不够将再加分。
小弟在此谢谢各位!

解决方案 »

  1.   

    首先你需要远程机器需要建立共享,否则即使知道用户名和密码也不能远程访问。对于共享的访问,可以参看
    http://blog.csdn.net/knight94/archive/2006/03/21/631309.aspx
      

  2.   

    建VPN吧,这是最好的解决办法。
      

  3.   

    这个程序与FTP差不多,你可以找这方面的资料
      

  4.   

    一切都由socket可搞定,本机为啥需要对方的权限?不需要!Begin:
      点击备份;
      sk请求
      服务器应答
      服务器获取自身备份目录
      将目录XML传给你
      自己选择好目录,同目录数据一起发给服务器!
    End
      

  5.   

    cnlcg(cnlcg) 兄:这两种思路都不行。我要求在本地能够获得远程机器的目录,以便在本地选择
      

  6.   

    使用wmi
    http://www.codeproject.com/csharp/wmi.asp
      

  7.   

    使用WMI,获得远程目录访问权限,再通过FolderBrowserDialog控件列出目录。
    using System;
    using System.Management;class Sample_ConnectionOptions
    {
        public static int Main(string[] args) {
            ConnectionOptions options = new ConnectionOptions();
            options.Username = 用户名; //could be in domain\user format
            options.Password = 密码;
            ManagementScope scope = new ManagementScope(
                "\\\\servername\\root\\cimv2",
                options);
            try {
                scope.Connect();
                ManagementObject disk = new ManagementObject(
                    scope,
                    new ManagementPath("Win32_logicaldisk='c:'"),
                    null);
                disk.Get();
                //接着就可以拷文件了,就象在本地操作一样,不过要加上网络路径
                File.Copy(@"\\remotepc\c:\te.txt","c:\\te1.txt");
            }
            catch (Exception e) {
                Console.WriteLine("Failed to connect: " + e.Message);
            }
            return 0;
        }
    }
      

  8.   

    好,zhzuo(秋枫) 谢谢您,还有哪位大哥帮忙呀。我测试好之后立马结贴。
      

  9.   

    您好,向你请教一个有关在数据库执行xp_cmdshell的问题。
    描述:
    在本机SQL2005的查询分析器中执行EXEC 
    master..xp_cmdshell 'net use \\10.1.2.24\hx1 wcq /user:administrator' 其中10.1.2.24是本机IP地址,报错,信息是:
    发生系统错误 1219。
    NULL
    不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次...
    但是在DOS下或是在SQL2000下(我的机子装了SQL2000和SQL2005)执行都正常,唯独在SQL2005下不正确,但是如果换了其他用户及其密码,则显示正确。
    我查了不少资料,但是没有任何进展,我不明白,administrator用户在SQL2005中为什么不能正常使用,是不是我哪地方没有设置。请指教,谢谢!
      

  10.   

    共享安全性太差,用ftp可以,用winsock可以