那位高手给讲讲isql呀,无比感谢!!!来者有分
请各位高手给一个介绍ISQL的文章地址,或是有那位好心人,给俺仔细的讲讲,再给俺写一个例子,例子是越详细越好,请一定要详细。谢谢了
问题点数:50、回复次数:11Top
1 楼zarge(鲨去来兮)回复于 2003-12-01 08:00:34 得分 0
联机帮助Top
2 楼wuyanfeng(耍库)回复于 2003-12-01 08:05:48 得分 20
疑难解答
SQL Server 实用工具返回的消息
所有 Microsoft® SQL Server™ 2000 实用工具均使用 ODBC,isql 命令提示实用工具除外。这对基于 ODBC 的实用工具的错误信息显示方式有影响。
这些错误信息可能具有写在描述中的起始 ODBC 标题。这些标题标识了产生错误的组件。osql 命令提示实用工具返回 ODBC 标题。SQL 查询分析器在默认情况下删除 ODBC 标题,但用户可以设置连接选项来返回这些标题。
例如,isql 将错误 208 的描述返回为:
对象名 'ThisObjectDoesNotExist' 无效。
osql 在描述中包括 ODBC 标题:
[Microsoft][ODBC SQL Server 驱动程序][SQL Server] 对象名 'ThisObjectDoesNotExist' 无效。
在消息中出现 ODBC 标题并不表明问题一定存在于 ODBC 组件中。SQL Server ODBC 驱动程序在所有组件消息中都包括这些标题。有关如何确定产生错误的组件的更多信息,请参见 ODBC 错误信息格式。
在 SQL Server ODBC 驱动程序中产生的错误只有描述。没有错误号、状态、严重级别或行号。例如,如果在 SQL 查询分析器中执行下列语句,则 SQL Server ODBC 驱动程序本身将产生语法错误:
{ CLL sp_who }
因为是驱动程序生成的错误,SQL 查询分析器所显示的唯一消息部分是描述:
[Microsoft][SQL Server ODBC 驱动程序]语法错误或违规访问
请参见
isql 实用工具
osql 实用工具
sysmessages
©1988-2000 Microsoft Corporation。保留所有权利。
Top
3 楼dlpseeyou(豆子)回复于 2003-12-01 08:11:56 得分 0
我也想学习学习Top
4 楼txlicenhe(马可)回复于 2003-12-01 08:17:37 得分 10
具体见联机帮助:
eg:
1: sa连接: isql -U sa -P password -S servername -d master -i test.sql
2: NT认证: isql /Slocalhost /L /E /iC:\test.sql
isql /S"CCOLLATUS-LI" /E /d"msdb" /i"C:\xnet2.sql"
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\***.sql'
isql -S 服务器名 -U sa -P 密码 -i "c:\aa.sql"
在查询分析器中执行sql文件
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\***.sql'
master..xp_cmdshell 'isql /S"服务器名" /U"用户名" /P"密码" /i"x:\xxx.sql"'
osql -U sa -P -S DB-Server -d SPVSDB -o err.txt -i F:\1.sql -b
Top
5 楼zjcxc(邹建)回复于 2003-12-01 08:31:11 得分 10
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® 版中的 isql 默认值为 8192;另外,Microsoft MS-DOS® 版中的 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。
Top
6 楼zjcxc(邹建)回复于 2003-12-01 08:31:27 得分 0
联机帮助上已经详细了.Top
7 楼flystar2(天外飞星)回复于 2003-12-01 08:32:25 得分 0
upTop
8 楼pengdali()回复于 2003-12-01 08:56:46 得分 10
dos下直接写入
isql /Slocalhost /L /E
登陆后写入sql语句,但要用go来执行如:
select * from ..
go
Top
9 楼sjw800614(SunSQLJob)回复于 2003-12-01 09:17:12 得分 0
学习!!!Top
10 楼leus(六子)回复于 2003-12-02 11:24:59 得分 0
看帮助吧。这里的也是从帮助抄Top
11 楼showmetoyou(好的)回复于 2003-12-02 11:41:30 得分 0
pengdali(大力 V3.0) 的帮助很好的!最简单!也是最实用的!Top




