Windows环境下批量执行Oracle的SQL的一种方法

最近在公司学到了一个实用的技术。客户端(执行本batch脚本的系统)是windows而服务端操作系统不限,客户端需要配置好ORACLE_HOME,
TNS_ADMIN以及tnsnames.ora。思路是利用batch和sqlplus批量执行SQL。使用方法:把所有的 xxx.sql
放在和本脚本同目录下然后运行batch即可。

脚本完整内容

@echo off
rem 这里的等于号两边不能留空格,变量值的双引号可以删除。
set UNM="OPF2MONITOR2"
set PWD="ORACLE"
set HOST="192.168.33.61:1521"
rem 以下为实例名
set SID="orcl"
rem 以下为tnsnames.ora中配置的数据库实例的别名
set SID_ALIAS="orcl_61"
rem 迭代执行与本脚本同目录下的每一个SQL文件
for /r ./ %%f in (*.sql) do echo %%h
    rem %%~f 删除任何引号
    ECHO %%~f
    rem 以下两种sqlplus命令格式任选其一
    rem sqlplus %USER%/%PWD%@%SID_ALIAS% @%%~f
    sqlplus %USER%/%PWD%@//%HOST%/%SID% @%%~f
)
pause

下载地址

你可能感兴趣的:(笔记,工作经验)