天天看点

批处理执行SQL脚本编写规范

为了进一步简化在更新程序时对SQL脚本的执行操作,我们特别引用了批处理命令来自动执行指定的脚本,而无需在数据库的查询分析器中进行执行。那么什么是批处理文件呢?如何对批处理文件进行编写呢?编写和执行的过程中要注意什么问题呢?下面就这三个问题做具体的解释。

 什么是批处理文件?

后缀是bat的文件就是批处理文件,是一种文本文件,是将DOS命令成批地写进一个文件中,运行时系统按顺序依次运行,效率较高。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。

 如何编写批处理文件?

在知道如何编写批处理文件之前,我们先要了解批处理文件的构成。

简单的说,批处理文件由OSQL参数,及其对应的参数值构成。常见的OSQL参数如下所示:

1  osql                   [-U 登录 ID]          [-P 密码]

2   [-S 服务器]                [-H 主机名]           [-E 可信连接]

3   [-d 使用数据库名称]        [-l 登录超时值]       [-t 查询超时值]

4   [-h 标题]                  [-s 列分隔符]         [-w 列宽]

5   [-a 数据包大小]            [-e 回显输入]         [-I 允许带引号的标识符]

6   [-L 列出服务器]            [-c 命令结束]         [-D ODBC DSN 名称]

7   [-q "命令行查询"]          [-Q "命令行查询" 并退出]

8   [-n 删除编号方式]          [-m 错误级别]

9   [-r 发送到 stderr 的消息]  [-V 严重级别]

10   [-i 输入文件]              [-o 输出文件]

11   [-p 打印统计信息]               [-b 出错时中止批处理]

12   [-X[1] 禁用命令,[退出的同时显示警告]]

13   [-O 使用旧 ISQL 行为禁用下列项]

14       <EOF> 批处理

15       自动调整控制台宽度

16       宽消息

17       默认错误级别为 -1 和 1

18   [-? 显示语法摘要]

下面具体讲述如何使用批处理文件执行SQL脚本。

在使用批处理文件执行SQL脚本时,我们只需要用到如下几个参数

序号 参数名 参数解释 示例

1 /u SQLServer用户名 /u sa

2 /p SQLServer密码 /p sa

3 -s 数据库IP -s 192.168.0.45

4 -d 数据库名 -d Northwind

5 -r 发送到 stderr 的消息 (后面不带参数值)

6 -i 输入文件 -i b.sql

7 -o 输出文件 -o a.txt

8 pause 命令暂停标识 (后面不带参数)

编写步骤:

在创建批处理文件之前,首先要创建好两个文件,即:1、要使用批处理文件执行的SQL脚本文件(后缀名为.sql的文件)。2、输出文件(即执行结果文件,后缀名为.txt文件)。

1、 新建批处理文件。先在指定的位置新建一个TXT文件,然后给该文件命名(如命名为aa),再将此文件的后缀名.txt修改成.bat。然后系统会给出如下提示,点击按钮【是】即可。

2、 编写批处理文件。把光标打在新建的批处理文件上,单击鼠标右键,选择以记事本的方式打开批处理文件,即可参照如下例子进行编写。

示例一:(数据库没密码的情况)

OSQL /U sa -S 192.168.0.153 -d NorthWind -r -i a.sql -o a.txt

Pause

示例二:(数据库有密码的情况)

OSQL /U sa /P sa -S 192.168.0.153 -d NorthWind -r -i b.sql -o a.txt

Pause

3、 保存批处理文件。在编写完批处理文件命令后,点击记事本上方工具栏的【文件】---【保存】,或者直接使用快捷键ctrl+s即可。

4、 执行批处理文件。双击批处理文件,点击Enter按钮即可。如果在一个批处理文件中含有多条命令,那么一直惦记Enter按钮,一直到DOS页面显示“按任意键继续...”即可。

5、 查看批处理文件执行结果。双击输出文件,即可看到批处理文件执行结果