bat文件调用 sql命令后 不继续执行???

我在a.bat中调用另外一个b.bat。b.bat的sql语句执行结束(成功执行),不返回控制台。是为什么呢。执行结果:-----------message1>>(这里为... 我在a.bat中调用另外一个b.bat。b.bat的sql语句执行结束(成功执行),不返回控制台。是为什么呢。
执行结果:
-----------
message 1
>
>(这里为什么不继续执行"echo message 2"命令呢)
-----------

a.bat内容:
-----------------
@echo off
echo message 1
call "b.bat" >> log.txt
echo message 2
-----------------

b.bat内容:
-----------------
osql "XXXXXXXX"(为备份数据库语句)
-----------------
此问题本人已解决。方法:osql 后面加了参数 /Q
/Q 执行查询并立即退出osql。将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。
追加提问,b.bat中使用for循环调用 osql语句。为什么循环1次可以(执行成功),循环多次就不执行了。
b.bat内容:
-----------------
for /L %%i in (1,1,10) do (
call osql /Q " XXXXXX " (修改表中某一字段的值,下次循环时修改下一个。只循环1次可以。)
)
-----------------
展开
 我来答
尽洋亿子
2011-11-08 · TA获得超过1502个赞
知道小有建树答主
回答量:652
采纳率:0%
帮助的人:476万
展开全部
osql "XXXXXXXX" -Q

C:\Documents and Settings\Administrator>osql /?
Microsoft (R) SQL Server 命令行工具
版本 9.00.1399.06 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。

注意: osql 并不支持 SQL Server 2005的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。

用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1
[-? 显示语法摘要]

提供
www.8023ni.com
www.jvhao.com
望采纳
文质彬彬还通融的爱人02
2011-11-06 · 超过34用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:97.5万
展开全部
osql不是BAT命令吧,如果想看什么错误的话,最好在句末加上PAUSE,看看是什么情况先
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-11-06
展开全部
b.bat内容最后加上goto :eof
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式