/// <summary>
        /// MrTom
        /// Oracle数据库备份
        /// </summary>
        private static void OracleBackUp()
        {
            //创建一个进程实例
            Process p = new Process();
            //生成备份文件的文件名称
            string filename = "E:\\BJDS" + System.DateTime.Today.ToString("yyyyMMdd") + ".dmp";
            //导出程序路径
            p.StartInfo.FileName = "E:\\oracle\\product\\10.2.0\\db_1\\BIN\\exp.exe";
            //启用操作系统外壳程序执行
            p.StartInfo.UseShellExecute = true;
            //显示dos窗口执行过程
            p.StartInfo.CreateNoWindow = false;
            //执行参数用户名和密码还有本机配置的Oracle服务名[kdtc/bjdscoal@tns:orcl file=" + filename + ]
            p.StartInfo.Arguments = "kdtc/bjdscoal2@orcl file=" + filename;
            p.Start();
            p.Dispose();
        } 在博客园找到的这段代码,自己看不懂。
尤其这部分
 //执行参数用户名和密码还有本机配置的Oracle服务名[kdtc/bjdscoal@tns:orcl file=" + filename + ]
            p.StartInfo.Arguments = "kdtc/bjdscoal2@orcl file=" + filename;求高人指点 c# 自动备份oracle数据。

解决方案 »

  1.   

    p.StartInfo.Arguments =
    这里怎么设置才是对的啊
      

  2.   

    Arguments 不就是传递给main函数的参数嘛。
    他这个怎么写是根据exp.exe中的main的定义来写的。
    根据你写的那一串,我猜啊:
    kdtc是账号
    bjdscoal2是密码
    orcl file是你将要导出的文件
    其中/应该是账号和密码的分割符号,@应该是账号,密码与文件名称的分割符号。这个字符串应该怎么去写,你可以去网上到处找找也许就能看到到底oracle中的main是如何写的了,如果传什么样的参数可以执行什么样的功能,不过这个应该非常非常非常难找到。
      

  3.   

    又是个结贴率 0.00%的这句就相当于在doc命令里面到出oracle数据一样
    exp Test/[email protected] file=E:\EMR2011-06-16.dmp
    Test是账号
    admin是密码
    @orcl 是导出本地的数据 ,不是导本地就像我那样写Ip地址
     file是你将要导出的文件名字导出时,,这几个值最好在界面设定,不要写死,设定后再拼接起来就ok了
      

  4.   

    找个完整的批处理备份命令不就明白了吗?或者查下exp.exe的使用方法,这明显是字符串的拼接,拆分了你就看不懂。