当前目录下有
aa.sql
ab.sql
ac.sql三个sql文件 ,有下面的命令行可以打开这三个文件 ,现在的问题是如果几十个sql文件,要打开的话得要把每个文件名写到命令行里面,请教大家有好办法 ?sqlwb -S xx.xx.xx.xx -d datadb  -U sa -P password  -nosplash "aa.sql","ab.sql","ac.sql"
像是sql2000的命令行  isqlw -S xx.xx.xx.xx -d datadb  -U sa -P password  -f "a*.sql"不清楚为什么sqlwb没有-f的参数 ?

解决方案 »

  1.   

    这个要自己写的.原因是一般SQL文件都会有要求执行顺序的.可以写一个lst文件依次列出你要执行的sql文件,然后用bat批处理的方式通过读取此一文件依次执行每一行.献上一个我两年前的例子DOS:
    @echo off
    REM.-- Prepare the Command Processor --
    SETLOCAL ENABLEEXTENSIONS
    SETLOCAL ENABLEDELAYEDEXPANSION::: -- Version History ?
    :::          XX.XXX         YYYYMMDD Author Description
    SET "version=01.00.00" &:20090521 s.s.   initial version::: -- Set the window title --
    SET "title=%~nx0 - version %version%"
    TITLE %title%SET "mysqlroot=D:\projects\xyz\sql"for /f %%a in (%mysqlroot%\Update.cfg) do call :upgrade %%a
    goto :eof
    :upgrade
    REM. no check for commented lines. use file not found instead. 
    sqlcmd -S mysqlserver -U mysaadmin -P mypasswd -d mymaster  -i %mysqlroot%\%1 -o %mysqlroot%\log_%1.log:eof
    ::: -- End of application --
    ::: ECHO.&PAUSE&GOTO:EOF
    ::: -- End of application --