isql 实用工具

isql   实用工具  
  isql   实用工具使您得以输入   Transact-SQL   语句、系统过程和脚本文件;并且使用   DB-Library   与   Microsoft®   SQL   Server™   2000   进行通讯。  
   
  语法  
  isql  
          [-?]   |  
          [-L]   |  
          [  
                  {  
                          {-U   login_id   [-P   password]}  
                          |   -E  
                  }  
                  [-S   server_name]   [-H   wksta_name]   [-d   db_name]  
                  [-l   time_out]   [-t   time_out]   [-h   headers]  
                  [-s   col_separator]   [-w   column_width]   [-a   packet_size]  
                  [-e]   [-x   max_text_size]  
                  [-c   cmd_end]   [-q   "query"]   [-Q   "query"]  
                  [-n]   [-m   error_level]   [-r   {0   |   1}]  
                  [-i   input_file]   [-o   output_file]   [-p]  
                  [-b]   [-O]  
          ]  
   
  参数-?  
   
  显示   isql   开关的语法摘要。  
   
  -L  
   
  列出在本地配置的服务器和在网络上广播的服务器的名称。  
   
  -U   login_id  
   
  用户登录   ID。登录   ID   区分大小写。  
   
  -P   password  
   
  是用户指定的密码。如果未使用   -P   选项,isql   将提示输入密码。如果在命令提示的末尾使用   -P   选项而不带密码,isql   使用默认密码   (NULL)。密码区分大小写。  
   
  ISQLPASSWORD   环境变量使您得以为当前会话设置默认密码。因此,不需要通过硬编码来在批处理文件中设置密码。  
   
  如果没有为   -P   选项指定密码,isql   首先检查   ISQLPASSWORD   变量。如果未设置值,isql   使用默认密码   (NULL)。以下示例在命令提示处设置   ISQLPASSWORD   变量,然后访问   isql   实用工具:    
   
  C:/>SET   ISQLPASSWORD=abracadabra  
  C:/>isql    
   
  -E  
   
  使用信任连接而不请求密码。  
   
  -S   server_name  
   
  指定要连接到的   SQL   Server   默认实例。isql   不支持连接到   SQL   Server   2000   命名实例。如果未指定服务器,isql   将连接到本地计算机上的   SQL   Server   默认实例。如果要在网络上从远程计算机执行   isql,则需要此选项。  
   
  -H   wksta_name  
   
  是工作站名称。工作站名称存储在   sysprocesses.hostname   中并由   sp_who   显示。如果未指定,则采用当前计算机名称。  
   
  -d   db_name  
   
  启动   isql   时发出一个   USE   db_name   语句。  
   
  -l   time_out  
   
  指定   isql   登录超时之前的秒数。如果未指定   time_out   值,则命令无限期地运行。登录到   isql   的默认超时为   8   秒。  
   
  -t   time_out  
   
  指定命令超时之前的秒数。如果未指定   time_out   值,则命令会无限期地运行;登录到   isql   的默认超时为   8   秒。  
   
  -h   headers  
   
  指定要在列标题之间打印的行数。默认为每一查询结果集打印一次标题。使用   –1   指定不打印标题。如果使用   –1,则在参数和设置之间不能有空格(可以是   -h-1,不能是   -h   –1)。  
   
  -s   col_separator  
   
  指定列分隔符字符,其默认为空格。若要使用对操作系统有特殊含义的字符(例如   |   ;   &   <   >),请将该字符用双引号   (")   引起来。  
   
  -w   column_width  
   
  允许用户设置屏幕输出的宽度。默认为   80   个字符。当输出行达到其最大屏幕宽度时,会拆分为多个行。  
   
  -a   packet_size  
   
  使您得以请求不同大小的数据包。packet_size   的有效值介于   512   和   65535   之间。Microsoft   Windows   NT&reg;   版中的   isql   默认值为   8192;另外,Microsoft   MS-DOS&reg;   版中的   isql   默认值为   512,但在该版本中也可以请求更大的数据包。数据包大小的增加可以提高较大脚本执行的性能,在这种执行中   GO   命令之间   SQL   语句的数量很重要。Microsoft   的测试表明   8192   是大容量复制操作典型的最快设置。可以请求更大的数据包大小,但是如果请求不能得到批准,则   isql   默认为   512。  
   
  -e  
   
  回显输入。  
   
  -x   max_text_size  
   
  指定返回文本数据的最大长度,以字节为单位。长于   max_text_size   的文本值将被截断。如果未指定   max_text_size,则文本数据在   4096   字节处截断。  
   
  -c   cmd_end  
   
  指定命令终止符。默认情况下,通过单独在一行中输入   GO   来终止命令并将其发送到   SQL   Server   2000。在重置命令终止符时,不要使用对操作系统有特殊含义的   Transact-SQL   保留字或字符,无论其前面是否有反斜杠。  
   
  -q   "query"  
   
  启动   isql   时执行查询,但是在查询完成时不退出   isql。(注意查询语句不应包含   GO)。如果从批处理文件中发出查询,可使用   %variables。环境   %variables%   也可用。例如:  
   
  SET   table   =   sysobjects  
  isql   /q   "Select   *   from   %table%"  
   
  将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。  
   
  -Q   "query"  
   
  执行查询,在查询完成时立即退出   isql。将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。  
   
  -n  
   
  从输入行中删除编号和提示符号   (>)。  
   
  -m   error_level  
   
  自定义错误信息的显示。显示指定的或更高严重级别错误的消息数、状态和错误级别。不显示严重级别低于指定级别的错误的任何信息。用   -1   指定与消息一起返回所有标题,即使是信息类的消息。如果使用   –1,则在参数和设置之间不能有空格(可以是   -m-1,不能是   -m   -1)。  
   
  -r   {0   |   1}  
   
  将消息输出重定向到屏幕   (stderr)。如果未指定参数,或指定参数为   0,那么仅重定向严重级别为   17   或更高的错误信息。如果指定参数为   1,则将重定向所有消息输出(包括   "print")。  
   
  -i   input_file  
   
  标识包含一批   SQL   语句或存储过程的文件。小于   (<)   比较运算符可以用来代替   –i。  
   
  -o   output_file  
   
  标识从   isql   接收输出的文件。大于   (>)   比较运算符可以用来代替   –o。  
   
  -p  
   
  打印性能统计。  
   
  -b  
   
  指定错误发生时   isql   退出并返回一个   DOS   ERRORLEVEL   值。当   SQL   Server   错误信息的严重级别为   10   或更高时,返回给   DOS   ERRORLEVEL   变量的值为   1;否则,返回值为   0。MS-DOS   批处理文件可以测试   DOS   ERRORLEVEL   的值并适当处理错误。  
   
  -O  
   
  指定   isql   还原为早期版本的行为。下列功能停用:    
   
  EOF   批处理  
   
   
  控制台宽度自动调整  
   
   
  宽信息    
  该选项还将   DOS   ERRORLEVEL   的默认值设置为   –1。  
   
  注释  
  所有   DB-Library   应用程序(如   isql)连接到   SQL   Server   2000   后,作为   SQL   Server   6.5   级客户端工作。它们不支持   SQL   Server   2000   的某些功能。而   osql   实用工具是基于   ODBC   并支持   SQL   Server   2000   的全部功能。使用   osql   运行   isql   无法运行的脚本。有关   SQL   Server   6.5   级客户端限制的更多信息,请参见   SQL   Server   联机丛书中的将早期版本客户端连接到   SQL   Server   2000。  
   
  默认情况下,SQL   查询分析器将   SQL   脚本保存为   Unicode   文件。isql   实用工具不支持   Unicode   输入文件。尝试在   -i   开关中指定这些文件中的某一个时会导致错误   170:  
   
  Incorrect   syntax   near   '   '.  
   
  使用   osql   实用工具运行这些   Unicode   文件。另一种方法是在   SQL   查询分析器的"文件/另存为"对话框的"文件格式"列表中指定   ANSI   而非   Unicode。  
   
  与大多数   DB-Library   应用程序类似,isql   实用工具在默认情况下不设置任何连接选项。用户如果希望使用特定连接选项设置,必须交互地或在脚本中发出   SET   语句。  
   
  isql   实用工具从操作系统直接启动,并且使用本文中列出的区分大小写的选项。启动后,isql   接受   Transact-SQL   语句并将它们交互地发送到   SQL   Server   2000。结果将格式化并打印到标准输出设备(屏幕)。可使用   QUIT   或   EXIT   退出   isql。  
   
  如果启动   isql   时未指定用户名,则   SQL   Server   2000   将检查环境变量并使用它们,如   isqluser=(user)   或   isqlserver=(server)。如果未设置环境变量,则使用工作站用户名。如果未指定服务器,则使用工作站名称。  
   
  如果   -U   或   -P   选项都没有使用,则   SQL   Server   2000   将尝试使用   Windows   身份验证模式进行连接。身份验证基于运行   isql   的用户的   Windows   NT   帐户。  
   
  除了   isql   中使用的   Transact-SQL   语句外,下表中的命令也可用。  
   
  命令   描述    
  GO   执行最后一个   GO   命令之后输入的所有语句。    
  RESET   清除已输入的所有语句。    
  ED   调用编辑器。    
  !!   command   执行操作系统命令。    
  QUIT   或   EXIT(   )   退出   isql。    
  CTRL+C   不退出   isql   而结束查询。    
   
   
  仅当命令终止符   GO(默认)、RESET、ED、!!、EXIT、QUIT   和   CTRL+C   出现在一行的开始(紧跟   isql   提示符)时才可以被识别。isql   忽视同一行中这些关键字后输入的任何内容。  
   
  GO   表明一批的结束和任何已被高速缓存的   Transact-SQL   语句的执行。在每个输入行的结尾按   ENTER   键,isql   将缓存此行的语句。键入   GO   后按   ENTER   键时,所有当前已被高速缓存的语句将作为一批发送到   SQL   Server   2000。  
   
  当前的   isql   实用工具工作起来就好像在任何被执行的脚本结尾处都带有隐含的   GO,因而脚本中的所有语句都将执行。除非输出脚本中至少有一个   GO,否则一些早期版本的   isql   将不发送任何语句到服务器。最后一个   GO   后的任何语句都不执行。  
   
  通过键入以命令终止符作为开始的行来结束命令。可以在命令终止符后输入一个整数来指定命令运行的次数。例如,若要执行此命令   100   次,请键入:  
   
  SELECT   x   =   1  
  GO   100  
   
  结果在执行结束时打印一次。使用   isql   时,每行字符数目限制为   1000   个。长语句应当跨多个行书写。  
   
  通过在行首键入   ED,用户可以在当前查询缓冲区上调用编辑器。编辑器在   EDITOR   环境变量中定义。默认编辑器是   MS-DOS   和   Windows   NT   的"edit"。可以通过设置   EDITOR   环境变量来指定其它编辑器。例如,若要将默认编辑器指定为   Notepad,请在操作系统提示符处输入:  
   
  SET   EDITOR=notepad  
   
  有关在何处可以找到或运行该实用工具的更多信息,请参见命令提示实用工具入门。  
   
  操作系统命令  
  通过用两个惊叹号   (!!)   开始一行,然后输入命令的方式,也可以执行操作系统命令。DOSKEY   命令撤回工具可以用来撤回和修改以前在运行   Windows   NT   的计算机上输入的   isql   语句。键入   RESET   可以清除现有的查询缓冲区。  
   
  在运行存储过程时,isql   在批处理中的每个结果集之间打印一个空行。此外,如果没有应用于已执行的语句,则"0   行受到影响"消息不会出现。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值