批量导入.sql文件建表的方法-百分求助
备份时使用了sql文件。现在我有很多的.sql文件,记录了数据库所有的表空间、表以及触发器,我希望在一个新的oracle数据库中把他们建立起来,一直以来我是在sql plus中一个个文件“打开”然后执行的,80多个文件,还有依赖关系,非常累,请教各位,有没有什么编程接口,脚本或者工具,不论是oracle 自带还是其他厂家的,能够批量导入.sql文件,谢谢!百分求助 问题点数:100、回复次数:3Top
1 楼bobfang(匆匆过客)回复于 2006-03-27 14:18:59 得分 50
写个脚本,里面的内容就是要执行的各个脚本文件,然后在sqlplus中调用这个脚本。如a.sql就是你的脚本,其内容是
@file1.sql
@file2.sql
...
在sqlplus中执行@a.sqlTop
2 楼mosquitoxh((IT,中间件,架构)http://it.paiming.org/bbs)回复于 2006-03-27 18:47:43 得分 50
写个脚本,里面的内容就是要执行的各个脚本文件,然后在sqlplus中调用这个脚本。如a.sql就是你的脚本,其内容是
@file1.sql
@file2.sql
...
在sqlplus中执行@a.sql
上面的是一种办法
也可以借助dos批处理
把所有sql文件拷贝到 d:\sql
for /r d:/sql %i in (*.sql) do sqlplus sys/orcl as sysdba @%i
sqlplus sys/orcl as sysdba @a.sqlTop
3 楼denverbenjamin2000(剑胆琴心)回复于 2006-03-28 15:12:15 得分 0
以下是我在Release 9.0.1.0.1的一个实现方式:
a可以借助dos批处理 dir /w >abc.sql 将目录下所有的sql文件名导入到abc.sql中
b然后在ultraedit中使用COLLUMMODE来把双列变成单列,就ok了,形成了脚本的正确格式,
c然后进行替换操作,以实现:
c1每个文件前加入@
c2文件使用绝对路径,
c3每一个文件后加入一行,加/
如下:
@C:\sqlscript\linux.sql
/
d 启动sqlplus,在其中执行@C:\sqlscript\abc.sqlTop




