zoukankan      html  css  js  c++  java
  • 【原创】用DOS批处理实现两个Oracle数据库中多表的互导

    一、建一个批处理文件,如Export.bat,内容如下:

    @echo off

    rem 此脚本由Shinetan编写

     

    if "%1"=="" goto end

     

    rem dds/ddsowner1@dds

    set Source=dds/dds.owner@dds

    set Target=dds/ddsowner@dev.ico

    set ParaTables=%1

    set OperateTime= 

     

    :SetTime

    if "%time:~0,1%"==" " goto TimeSmallThen10

    :TimeLargerThen10

      set OperateTime=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%

      goto SetTimeEnd

    :TimeSmallThen10

      set OperateTime=%date:~0,10%_%time:~1,1%-%time:~3,2%-%time:~6,2%

      goto SetTimeEnd

    :SetTimeEnd

     

    rem 创建以时间为名称的目录

    md %OperateTime%

     

    type nul >%OperateTime%\SQL.inp

    rem echo drop table %ParaTables%; >%OperateTime%\SQL.inp

    :LOOP   

      IF   [%1]==[]   GOTO   LOOP_END   

      REM   保存参数,以做回归分析   

      echo drop table %1; > %OperateTime%\tmp.inp

      type %OperateTime%\SQL.inp >> %OperateTime%\tmp.inp

      type %OperateTime%\tmp.inp > %OperateTime%\sql.inp

      set ParaTables=%ParaTables%,%1

      SHIFT   

      GOTO   LOOP   

    :LOOP_END   

     

    echo 导出源表

    exp %Source% Tables=%ParaTables% File=%OperateTime%\Source.dmp direct=y log=%OperateTime%\Exp.log

    echo 备份目标表

    exp %Target% Tables=%ParaTables% File=%OperateTime%\Backup.dmp direct=y log=%OperateTime%\Backup.log

    echo 删除目标表

    sqlplus %Target% <%OperateTime%\SQL.inp

    echo 导入新表

    imp %Target% Tables=%ParaTables% File=%OperateTime%\Source.dmp log=%OperateTime%\Imp.log

     

    rem 记录

    echo Source=%Source% >>%OperateTime%\Export.log

    echo Target=%Target% >>%OperateTime%\Export.log

    echo Tables=%ParaTables% >>%OperateTime%\Export.log

     

    echo Ok.

     

    :END

    pause

    @echo on

     

    二、调用方法:Export [table1,table2,table3,...]

  • 相关阅读:
    jquery mobile左右滑动切换页面
    用phonegap和jquery-mobile写android应用
    javascript配置ckfinder的路径
    HTML5中表单验证的8种方法
    select标签中的选项分组
    c# 冒号:C#中两个冒号(::)的作用
    jquery validate
    【C#学习笔记】检测进程是否存在并关闭
    【C#学习笔记】载入图片并居中
    【C#学习笔记】鼠标控制
  • 原文地址:https://www.cnblogs.com/ShineTan/p/1510646.html
Copyright © 2011-2022 走看看