使用BAT批处理执行SQL

有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法:


1、把待执行Sql保存在一个文件,这里为20110224.sql。
2、新建一个扩展名.bat的批处理文件,输入下面命令并保存后,双击.bat文件,系统会自动执行20110224.sql的语句:

   osql -S gdjlc -d TestDB -U sa -P 1 -i 20110224.sql


osql参数见下面
=======================================================================


E:\>osql /?
icrosoft (R) SQL Server 命令行工具
版本 10.0.1600.22 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。

注意: osql 并不支持 SQL Server 2008的所有功能。
请使用 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
 [-? 显示语法摘要]

原文地址:https://www.cnblogs.com/zhangxb/p/2460735.html