首页  ·  知识 ·  云计算
Asp.net备份oracle数据库
网友   http://www.cnblogs.com/muer/archive/2010/03/25/1695293.html  综合  编辑:德仔   图片来源:网络
项目中需要在网站的后台管理中,备份oracle数据库,在服务器上制定目录备份并提供给客户端下载。
项目中需要在网站的后台管理中,备份oracle数据库,在服务器上制定目录备份并提供给客户端下载。
 
一、使用Process类,调用cmd.exe,其中command字符形式
 
String.Format(" exp {0}/{1}@{2} file={3} full=y", userName, pwd, dataService, filePath)
 
 
代码
 1 Protected Sub RunCmd(ByVal command As String)
 2         Dim cmd As New Process
 3         '获得系统信息,使用的是 systeminfo.exe 这个控制台程序
 4         cmd.StartInfo.FileName = "cmd.exe"
 5         cmd.StartInfo.Arguments = "/c " & command
 6         '将cmd的标准输入和输出全部重定向到.NET的程序里
 7         cmd.StartInfo.UseShellExecute = False '此处必须为false否则引发异常
 8         cmd.StartInfo.RedirectStandardInput = True  '标准输入
 9         cmd.StartInfo.RedirectStandardOutput = True  '标准输出
10         '不显示命令行窗口界面
11         cmd.StartInfo.CreateNoWindow = True
12         cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
13
14         cmd.Start() '启动进程
15
16         '获取输出
17         '需要说明的:此处是指明开始获取,要获取的内容,
18         '只有等进程退出后才能真正拿到
19         cmd.StandardOutput.ReadToEnd()
20
21         cmd.WaitForExit() '等待控制台程序执行完成
22         cmd.Close() '关闭该进程
23     End Sub
 
 
注意相应文件夹要有写的权限,程序在调试时,能够生成备份文件,但发布到IIS上之后,不能生成备份文件。
原因是默认情况下,IIS不允许调用cmd.exe,需要设置machine.config文件,修改权限
在<System.Web>配直节下,增加<processModel userName="SYSTEM" enable="true" />
重新启动电脑,备份成功,功能是实现了,但大家要注意这样设置后,服务器安全方面很危险,请谨慎!!!
 
本文作者:网友 来源: http://www.cnblogs.com/muer/archive/2010/03/25/1695293.html
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读