加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

需要帮助编写执行sql脚本的bat文件(sql server 2008和另外3个文

发布时间:2020-12-12 07:27:13 所属栏目:MsSql教程 来源:网络整理
导读:我确信之前已经问过这些但是找不到如何创建的明确说明 批处理文件让我们称之为“更新数据库”这个批处理文件 执行位于不同文件夹中的sql脚本 执行另外3个bat文件. 任何快速的例子如何做?从来没有做过 非常感谢 EDITED 我可以这样做吗? :On Error exit :r C:
我确信之前已经问过这些但是找不到如何创建的明确说明
批处理文件让我们称之为“更新数据库”这个批处理文件

执行位于不同文件夹中的sql脚本
执行另外3个bat文件.

任何快速的例子如何做?从来没有做过
非常感谢

EDITED

我可以这样做吗?

:On Error exit 

:r C:myPathMasterUpdateDatabase.bat
GO 
SQLCMD -S (Local) -i C:myPathInsertUsername.sql

我收到一个错误:

“GO” is not recognized as internal external command

感谢您的任何意见

解决方法

看起来您正在尝试使用DOS命令创建批处理文件,该文件可以(a)执行其他批处理文件,或者(b)执行SQLCMD以运行sql或sql脚本.

以下是几个例子.我正在使用带有/ WAIT开关的DOS命令START,这将使您的原始“主”批处理文件在一个窗口中运行,并在新窗口中执行后续文件或命令.该新窗口保持打开状态,直到脚本完成并退出.

有些ECHO可能不是必需的,但脚本现在会回复给你一点点.

@echo off

所以,从你运行脚本的角度来看,这非常简单.如果您的script1.bat有断点,则可以将错误返回到主脚本并立即结束.我不清楚这是否是你需要主脚本做的.

echo Starting Database Update.
echo.

echo Excuting Script 1
echo.
start /wait C:pathtoyourscript1.bat

echo If there was a problem,break here.
Pause

echo Excuting Script 2
echo.
start /wait C:pathtoyourscript2.bat

echo If there was a problem,break here.
Pause

这里使用相同的START / WAIT来运行SQLCMD,在这种情况下只返回查询的结果.这里需要注意的一点是-Q(大写)运行查询并退出.如果使用-q(小写),它将运行查询并在SQLCMD中打开,等待另一个查询.

echo.
echo Running SQLCMD: "select top 100 * from sys.objects"
start /wait sqlcmd -S (local) -Q "select top 100 * from sys.objects"

这就是你如何运行一个sql脚本,这是-i表示的,但我也没有像之前那样在START / WAIT中运行它.不是你必须这样做,但我想展示这两个例子.这也表明,如果您的脚本返回错误,-b将结束批处理过程,如果您运行的多个脚本依赖于前者的成功,这将非常有用.

echo.
echo Running SQLCMD from an (-i)nput file:
sqlcmd -S (local) -i  C:pathtoyourscript.sql -b

echo.
echo Update Complete.
pause

End

所以,我假设您正在寻找使用SQLCMD的.bat或.cmd文件.我提供的示例非常基本,但希望它能让您走上正确的道路.

哦!请记住,CTRL C会破坏正在处理的批处理脚本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读