各位大哥我想在delphi里面做一个有关oracle数据库表的备份?
请问哪位大哥知道语句是怎么写的? 我用的是ado连的数据库
     
            
                                                        会的大哥赐教一下
                                                        小弟不甚感谢

解决方案 »

  1.   

    用BatchMove,
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      BatchMove1.Source := table1;
      BatchMove1.Destination := table1;
      BatchMove1.Mappings := 'table1.aa = table2.aa,table1.bb = table2.bb,...'
      table2.Name := 'c:\backup.bmp';
      BatchMove1.Execute;end;
      

  2.   

    不是吧,在ORACLE中对数据库的备份是一件非常严肃的事情,怎么能够用应用程序来进行备份呢?当然,要进行备份也不是不可以,我的办法是写一个脚本,然后执行这个脚本就是了当然,这个脚本也可以在程序中动态定义,我的大概思路就是这样,不过我也没有具体去现实过。不过我敢保证,上面的方案一定是可行的,楼主可以参见一下ORACLE的IMP /EXP命令,你在DOS方式下用exp -help 就可以看到详细的命令说明的
      

  3.   

    这位兄弟说的是不是直接在 dos下面备份呢 用exp  恢复用imp 这种方法我试过
    但是我怕 客户用起来闲麻烦 所以才问问有没有办法自己先写一段程序把这些
    先做好了这样用起来方便一点
      

  4.   

    你可以建立一个作业,然后在作业里面定义备份方式!
    这样的话,你只要定义好时间就可以实现自动备份了!
    而且不需要任何干预!我认为DOS和控制台是两个不同的概念应该严格区分!
    win98:DOS
    Win2000:控制台
      

  5.   

    我认为DOS和控制台是两个不同的概念应该严格区分!
    win98:DOS
    Win2000:控制台
      

  6.   

    导出
    WinExec(pchar('cmd /k exp username/pwd@oracleserverName file=C:\xxx.dmp '),SW_SHOWNA);
    导入
    WinExec(pchar('cmd /k imp username/pwd@oracleserverName file=C:\xxx.dmp  fromuser=username touser=username'),SW_SHOWNA);搞定!!