osql的用法  大家能给说说不?  怎么在自己的机器的使用 ???? 还有连别的服务器???/
osql -S192.168.1.13 -Usa -Ppor -dPOR_DB -i %cd%\PCEDI_put_ASNData.sql  这是什么意思 ????

解决方案 »

  1.   

    [code=BatchFile]osql -S192.168.1.13 -Usa -Ppor -dPOR_DB -i %cd%\PCEDI_put_ASNData.sql [/code]osql :sqlserver外部命令工具,说白了就是微软作的一个exe程序可以连本机服务器或者其他服务器
    -S 指定sql数据库服务器
    -U 用户名
    -P 密码
    -d 数据库
    -i 使用输入文件 %cd%\ windows环境变量,映射到实际的目录
    PCEDI_put_ASNData.sql 可以执行的sql文件
    ----------看来lz除了sql方面的东西需要学习外,windows的基本知识也需要加强其他参数:
    -S server_name[\instance_name] 
    指定要连接到的 Microsoft SQL Server 实例。指定 server_name 将连接到该服务器上 SQL Server 的默认实例。指定 server_name\instance_name 将连接到该服务器上 SQL Server 的某个命名实例。如果未指定服务器,osql 将连接到本地计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 osql 时,此选项是必需的。-H wksta_name 
    工作站名称。工作站名称存储在 sysprocesses.hostname 中,并按 sp_who 显示。如果不指定此选项,则采用当前计算机名称。-d db_name 
    启动 osql 时发出一个 USE db_name 语句。-l time_out 
    指定 osql 登录超时之前的秒数。登录 osql 的默认超时时间为 8 秒。-t time_out 
    指定命令超时之前的秒数。如果不指定 time_out 值,则命令不会超时。-h headers 
    指定要在列标题之间打印的行数。默认为每一组查询结果打印一次标题。使用 -1 可指定不打印标题。如果使用 -1,则在参数和设置之间一定不能有空格(可以是 -h-1,不能是 -h -1)。-s col_separator 
    指定列分隔符字符,默认值为空格。若要使用对操作系统有特殊含义的字符(例如 | ; & < >),请将该字符用双引号 (") 括起来。-w column_width 
    允许用户设置屏幕输出的宽度。默认为 80 个字符。当输出行达到其最大屏幕宽度时,会拆分为多行。-a packet_size 
    允许您请求不同大小的数据包。packet_size 的有效值在 512 到 65535 之间。osql 的默认值为服务器的默认值。执行较大的脚本时,各个 GO 命令之间的 SQL 语句的数量是庞大的,因此增大数据包可以提高性能。Microsoft 的测试表明大容量复制操作的最快设置通常为 8192。可以请求更大的数据包,但如果请求不能得到批准,则 osql 会将此值默认为服务器的默认值。-e 
    回显输入。-I 
    将 QUOTED_IDENTIFIER 连接选项设置为开启。-D data_source_name 
    连接到用 ODBC 驱动程序为 Microsoft SQL Server 定义的 ODBC 数据源。osql 连接使用该数据源中指定的选项。注意:  
    此选项不适用于为其它驱动程序定义的数据源。
     
    -c cmd_end 
    指定命令终止符。默认情况下,可以在行中输入一个单独的 GO 来终止命令,并将该命令发送到 SQL Server。如果要重置命令终止符,请勿使用对操作系统有特殊含义的 Transact-SQL 保留字或字符,无论其前面是否有反斜杠。-q " query " 
    启动 osql 时执行查询,但在查询完成时不退出 osql。(注意查询语句不应包含 GO)。如果从批处理文件中发出查询,请使用 %variables 或环境 %variables%。例如:  复制代码 
    SET table=sys.objects
    osql -E -q "select name, object_id from %table%"
     将查询用双引号括起来,将查询中嵌入的任何内容用单引号括起来。 -Q " query " 
    执行查询并立即退出 osql。将查询用双引号括起来,将查询中嵌入的任何内容用单引号括起来。-n 
    从输入行中删除编号和提示符号 (>)。-m error_level 
    自定义错误信息的显示。显示指定的或更高严重级别的错误的消息数、状态和错误级别。不显示低于指定级别的错误的信息。使用 -1 可以指定返回所有标题及其消息,即使是信息型消息。如果使用 -1,则在参数和设置之间不能有空格(可以是 -m-1,不能是 -m -1)。-r {0 | 1} 
    将消息输出重定向到屏幕 (stderr)。如果不指定参数,或指定参数为 0,则仅重定向严重级别为 11 或更高的错误信息。如果指定参数为 1,则将重定向所有消息输出(包括“print”)。-i input_file 
    标识包含一批 SQL 语句或存储过程的文件。小于 (<) 比较运算符可以代替 -i 使用。-o output_file 
    标识从 osql 接收输出的文件。大于 (>) 比较运算符可以代替 -o 使用。如果 input_file 不是 Unicode,并且未指定 -u,则 output_file 将存储为 OEM 格式。如果 input_file 是 Unicode,或指定了 -u,则 output_file 将存储为 Unicode 格式。 -p 
    打印性能统计信息-b 
    指定发生错误时,osql 退出并返回一个 DOS ERRORLEVEL 值。如果 SQL Server 错误消息的严重级别为 11 或更高,DOS ERRORLEVEL 变量返回的值为 1;否则,返回的值为 0。Microsoft MS-DOS 批处理文件可以测试 DOS ERRORLEVEL 的值,并进行适当的处理。-u 
    指定 output_file 存储为 Unicode 格式,而不考虑 input_file 的格式。-R 
    指定在将货币、日期和时间数据转换为字符数据时,SQL Server ODBC 驱动程序使用客户端设置。-O 
    指定为与 isql 的早期版本行为匹配,停用某些 osql 功能。下列功能停用:EOF 批处理
    自动调整控制台宽度
    宽消息
    同时还将 DOS ERRORLEVEL 的默认值设置为 -1。