怎么在VB里写一段代码实现Oracle数据库的备份与恢复? 5

我用的数据库是Oracle9i。在VB里的一个窗体里,点击【数据备份】按钮,则数据库里的所有表都备份。最好,可以设置备份路径。谢谢各位高手!... 我用的数据库是Oracle9i。在VB里的一个窗体里,点击【数据备份】按钮,则数据库里的所有表都备份。最好,可以设置备份路径。谢谢各位高手! 展开
 我来答
仗剑折花
2010-05-12 · TA获得超过127个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:96.5万
展开全部
有三种思路
思路一(适应于数据不多的情况下):
1、备份表结构,执行SQL语句(select dbms_metadata.get_ddl('TABLE','表名','用户名') from dual;)得到指定表(指定表的话可以先通过查询user_tables视图得到当前用户的所有表清单展示在界面供选择)的ddl语句(建表sql),并将建表sql保存起来,下次导入时可以直接运行生成表。
2、备份数据,通过执行sql得到指定表的insert语句,并保存在指定目录的文本文件中,sql语句为:Select 'Insert into 表名 (字段1,字段2) ' ||
'Values(' || '''' || 字段1 || '''' || ',''' || 字段2 || '''' ||')'
from 表名;要得到指定表的字段信息可以通过查询user_tab_columns视图得到,具体语句为:select * from user_tab_columns where table_name =表名。
思路二(大数据推荐此思路):
通过vb执行windows脚本调用oracle的exp来进行数据备份,exp的语法格式可以通过在cmd中运行exp -help得到帮助(前提条件需要安装oracle 客户端)。
思路三:
利用第三方插件或者API将数据导出为txt或excell,也可以自己写,方法为在vb中连接数据库查询表,将数据逐行生成以指定分隔符(如逗号)分隔的文本,行与行之间用换行符分隔。
liyingcuo
2010-05-12 · TA获得超过272个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:117万
展开全部
在vb中调用shell命令。
例如:shell "c:\command.com /c exp user/pwd@oraInstance owner=dbuser file=Inputpath"
其中shell "c:\command.com /c是调用dos command窗口
exp是oracle自带exe,
注意windows环境变量path路径要有oracle的bin目录。
file=Inputpath,inputpath就是你要保存的路径跟文件名
够明白了吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式