bat文件执行SQL语句

1:osql  -E -S -i update.sql(update.sql这个位置是要执行的sql文件的路径,当然也可是其它文件)
保存成bat文件
2:update.sql建立.其实就是在查询分析器中可以执行的SQL语句.
以下是我的SQL语句
use jycmis

alter table  rduty add  isday  bit ------------修改RDUTY表
GO
create table rsalarygrade (
sgrade_no varchar(4),
sgrade_name varchar(15),
sgrade_money decimal(9,2) default(0) check (sgrade_money>=0)
,bak varchar(10),
t_name varchar(12),
t_date datetime default(getdate())
)----------以上是增加薪等級表
go

sql脚本存为a.sql.
建立一个bat文件内容如下:
@echo   isql   create   job   start> > log.txt
isql   -U登录用户   -P密码   -S服务器   <a.sql   > > log.txt
@echo   isql   create   job   end> > log.txt
以上将在运行bat时通过isql执行a.sql,并创建log.txt文本文件.记录执行的情况.
附:isql语法.
用isqlw来执行*.sql文件
isqlw   实用工具(SQL   查询分析器)使您得以输入   Transact-SQL   语句、系统存储过程和脚本文件。通过设置快捷方式或创建批处理文件,可以启动预配置的   SQL   查询分析器。

语法
isqlw
        [-?]   |
        [
                [-S   server_name[/instance_name]]
                [-d   database]
                [-E]   [-U   user]   [-P   password]
                [{-i   input_file}   {-o   output_file}   [-F   {U|A|O}]]
                [-f   file_list]
                [-C   configuration_file]
                [-D   scripts_directory]
                [-T   template_directory]
        ]

参数-?

显示用法信息。

-S   server_name[/instance_name]:

指定要连接到的   Microsoft&reg;   SQL   Server&#8482;   2000   实例。指定用于连接到该服务器上的   SQL   Server   2000   默认实例的   server_name。指定用于连接到该服务器上的   SQL   Server   2000   命名实例的   server_name/instance_name。如果未指定服务器,isqlw   将连接到本地计算机上的   SQL   Server   默认实例。从网络上的远程计算机执行   isqlw   时,此选项是必需的。

-d   database

当启动   isqlw   时,发出一个   USE   database   语句。默认值为用户的默认数据库。

-E

使用信任连接而不请求密码。

-U   user

用户登录   ID。登录   ID   区分大小写。

-P   password

是登录密码。默认设置为   NULL。

-i   input_file

标识包含一批   SQL   语句或存储过程的文件。必须同时指定   -i   和   -o   选项。如果指定   -i   和   -o   选项,将执行输入文件中的查询,并将结果保存到输出文件中。在查询执行过程中不显示用户接口。当执行完成后,进程退出。

-o   output_file

标识接收来自   isqlw   的输出的文件。必须同时指定   –i   和   –o   选项。如果指定   -i   和   -o   选项,将执行输入文件中的查询,并将结果保存到输出文件中。在查询执行过程中不显示用户接口。当执行完成后,进程退出。如果未使用   -F   指定文件格式,则输出文件使用与输入文件相同的类型。

-F   {U|A|O}

是输入文件和输出文件的格式。值包括   Unicode、ANSI   和   OEM。如果未指定   -F,则使用自动模式(如果文件标为   Unicode   格式,则以   Unicode   格式打开;否则,以   ANSI   格式打开文件)。

-f   file_list

将列出的文件装载到   SQL   查询分析器中。使用   -f   选项,可以装载一个或多个文件(文件名以单个空格分开)。如果指定了多个文件,则以相同的连接上下文将这些文件打开。文件名可以包含该文件所驻留的目录路径。可以使用通配符,如   C:/Test/*.sql   中的星号   (*)。

-C   configuration_file

使用配置文件中指定的设置。其它在命令提示下显式指定的参数将重写相应配置文件中的设置。

-D   scripts_directory

重写在注册表中或在用   –C   指定的配置文件中指定的默认存储脚本目录。该值不保留在注册表或配置文件中。若要在   SQL   查询分析器中查看该选项的当前值,请单击 "工具 "菜单,然后单击 "选项 "命令。

-T   template_directory

重写在注册表中或在用   –C   指定的配置文件中指定的默认模板目录。该值不保留在注册表或配置文件中。若要在   SQL   查询分析器中查看该选项的当前值,请单击 "工具 "菜单,然后单击 "选项 "命令。


注释
有用户界面或没有用户界面时都可使用   isqlw   实用工具。若要在没有用户界面的情况下运行   isqlw,请指定有效登录信息(具有信任连接或有效登录   ID   及密码的   SQL   Server   2000   实例)和输入及输出文件。isqlw   将执行输入文件的内容,并将结果保存到输出文件中。
例:
isqlw   -d   pubs   -E   -f   "c:/Program   Files/Microsoft   SQL   Server/MSSQL/Install/instpubs.sql "   "c:/Program   Files/Microsoft   SQL   Server/MSSQL/Install/instcat.sql "

 

2000应该用osql
osql   -U   用户名   -P   密码(为空这个参数也要写)-S   服务器名   -i   文件路径和名字

例子
osql   -U   sa   -P   -i   aaa.sql
就是在本机运行用户名   sa   密码   kong     文件名   当前目录下的aaa.sql

 

把bat文件和sql文件放到一起就可以了。里面用到的是相对路径。
如:文件结构:a.bat
                            /sql/a.sql
则a.bat中:
@echo   isql   create   job   start> > log.txt
isql   -U登录用户   -P密码   -S服务器   <sql/a.sql   > > log.txt
@echo   isql   create   job   end> > log.txt

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值