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

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

创新互联主要从事网站设计、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务清苑,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

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数据库的源文件

网站栏目:巧用SQL Server 2000的isql进行批量SQL处理
转载注明:http://www.shufengxianlan.com/qtweb/news30/527380.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联