现在的位置: 首页 > 综合 > 正文

巧用Dos生成Firebird Sql执行

2013年08月17日 ⁄ 综合 ⁄ 共 715字 ⁄ 字号 评论关闭

用FireBird的Isql工具可以在Dos下批量执行Sql脚本,先建立一个Sql文件,保存为input.sql

 

假如有大量的要执行的Sql文件,分别把它们保存为input1.sql input2.sql ...,然后建立一个bat 文件

 

sdcs1.bat文件,里面内容如下:

f:/fb/bin/isql.exe  -user sysdba -password masterkey '127.0.0.1:e:/pim_ym' -q -input 'd:/work/ym/sdcs1/100000715.sql';

 

也就是说,可以用这个文件灵活写入要执行的几个sql文件,假如把sql文件保存在一个文件夹下

 

可以用下面的Dos命令生成该批文件的文件名并输出到sdcs1.txt 文本中,

 

for /f "skip=5 tokens=4" %i in ('dir') do @if exist %i echo %i>>sdcs1.txt

 

这样再配合下面的Dos命令就可以生成上面的bat批处理文件,后面用了echo >>log1.txt是因为记录哪些sql脚本

 

已经执行,并记录到文件log1.txt中,这样当出现意外时,就可以查看哪些sql脚本已经执行,本

 

来可以把已经执行的脚本文件从bat文件中删除,但我现在还没有什么好的方法实现。

for /f  %i in (sdcs1.txt) do @echo f:/fb/bin/isql.exe  -user sysdba -password masterkey '127.0.0.1:e:/pim_ym' -q -input 'd:/work/ym/sdcs1/%i';>>sdcs1.bat &echo echo %i^>^>log1.txt>>sdcs1.bat

【上篇】
【下篇】

抱歉!评论已关闭.