巧用SQL Server 2000的isql进行批量SQL处理

数据库 SQL Server
本文主要介绍了SQL Server 2000数据库的一个dos命令工具isql的使用,并通过两个示例对isql的使用进行详细的解释,希望能够对您有所帮助。

SQL Server 2000数据库有一个dos命令工具叫iSql,可以在dos命令下执行SQL操作,当我们在客户端或远程执行数据库操作等工作时是很方便的。本文我们主要介绍isql命令的使用,并通过两个示例来对isql的使用加以详细解释,接下来我们开始介绍这一部分内容。

isql命令的参数:

{-U login_id} --登录用户名

{-P password]} --登录密码

{-S server} --节点ip地址

{-d use database name] --操作的数据库

{-Q "query"} --要执行的sql命令

{-i input file} --要执行的sql文件

{-o output file} --结果输出文件

往往在大型系统维护中,由于存在很多个节点,比如全省有100多个县,每个县都有一套相同的系统(系统、数据库结构相同,但数据不同),这时候将会发现用好iSql命令将非常有用。尤其是在与dos其它命令组合时。

一、以下演示一个场景,需要向全省100个节点数据库,执行一段sql语句,可以是一条update、insert、也可以是一个存储过程、甚或是一批sql语句,这个时候如果一个个节点去远程连接再执行,人肯定会疯的。利用isql将变得很简单:

1.先创建一个文本文件config.txt,将各节点的数据库连接参数写下来,比如:

192.168.1.1,sa,sa,test

192.168.1.2,sa,sa,test

192.168.1.3,sa,sa,test

192.168.1.4,sa,sa,test

192.168.1.5,sa,sa,test

192.168.1.6,sa,sa,test 2.创建一个sql文件start.sql,存放您要执行的sql代码(内容略)

3.创建一个批处理,内容如下:

 

  1. @for /F "eol=# tokens=1,2,3* delims=, " %%i in (config.txt) do (  
  2.  
  3. @echo 向服务器%%i执行SQL语句  
  4.  
  5. @echo 向服务器%%i执行SQL语句 >> log.txt  
  6.  
  7. @isql -S%%i -U%%j -P%%k -d%%l -istart.sql >> log.txt  
  8.  
  9. @echo 执行结束  
  10.  
  11. pause 

 

这段代码会逐行分析config.txt中的节点配置,然后分别执行sql文件start.sql,然后将结果输出到log.txt中。

二、还有一种情况,同样需要向100个节点执行相同的sql语句,不同的是需要返回数据,进行汇总或统计分析用。比如返回某张表中一共有多少条记录,那么,也可以建立一个批处理,如下:

 

  1. @for /F "eol=# tokens=1,2,3* delims=, " %%i in (config.txt) do (  
  2.  
  3. @echo 向服务器%%i执行SQL语句  
  4.  
  5. @echo 向服务器%%i执行SQL语句 >> log.txt  
  6.  
  7. @isql -S%%i -U%%j -P%%k -d%%l -Q"select count(*) from tablename" >> log.txt  
  8.  
  9. @echo 执行结束  
  10.  
  11. pause 

 

然后您就可以等着看结果了。如果有错误,或者连不上数据库都会在log.txt中提示,这样我们就可以查看log.txt来解决问题了。

关于SQL Server 2000数据库使用的isql命令进行批量处理的知识就介绍到这里了,希望本次的介绍能够给您带来一些收获,谢谢!

【编辑推荐】

  1. SQL Server数据库Substring函数使用方法小结
  2. 浅谈Oracle与SQL Server对UPDATE语句的处理
  3. SQL Server数据库无法进行远程连接的解决方案
  4. SQL Server 2000本地系统账户和域用户账户的选择
  5. 一个使用JavaBean连接SQL Server 2005数据库的源文件
责任编辑:赵鹏 来源: 火魔网
相关推荐

2010-07-23 09:15:08

安装SQL Serve

2010-07-19 08:51:58

SQL Server

2018-12-25 14:40:04

SQL ServerSQL语句数据库

2010-09-16 17:56:31

SQL server临

2010-11-10 15:23:55

SQL SERVER

2010-07-09 13:01:50

SQL Server

2011-03-09 14:18:37

SQL数据累加

2011-04-18 13:02:08

SQL Server SQL Server

2015-07-22 17:27:41

SQL SERVER 链接

2011-08-29 10:08:04

SQL Server osqlocmd批处理

2010-06-18 13:18:29

SQL Server

2010-06-18 09:26:49

SQL Server

2009-05-26 10:21:07

2010-07-07 17:11:46

SQL Server

2011-07-11 09:54:16

DAC登录触发器

2010-06-30 14:36:49

SQL Server

2010-07-08 16:37:50

Microsoft S

2011-04-06 13:14:29

SQL Server 安装

2010-07-22 14:59:24

SQL Server

2010-09-14 13:30:28

sql server备
点赞
收藏

51CTO技术栈公众号