Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1680735
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: WINDOWS

2011-05-16 17:15:12

  1. @echo off
  2. echo The following commands will set up the database for DocComposer.


  3. set /p pDbName=Please Enter Database Name to be Created : (注:不知道怎么把这个参数传入createDB.sql 和DocComposerDatabase.sql 脚本中,这里这个参数无效,脚本中参数写死了,望高手指点。)
  4. set /p pHost=Enter the Host Name (Machine) for Database :
  5. set /p pPass=Enter the password for "sa" user :

  6. echo if the database does not exist, it will be created, otherwise, the database will be updated and all the data will be removed!!

  7. echo enter Ctrl+C to stop, otherwise press any key to continue to set up the database.
  8. pause

  9. echo check or create the database
  10. isql -S"%pHost%" -U sa -P"%pPass%" -i createDB.sql -o logs\test1.log
  11. type Logs\test1.log > Logs\setup.log

  12. pause

  13. echo create the tables...
  14. isql -S "%pHost%" -U sa -P "%pPass%" -i DocComposerDatabase.sql -o Logs\test2.log
  15. type Logs\test2.log >> Logs\setup.log

  16. pause

  17. del logs\test1.log
  18. del logs\test2.log

  19. echo The database has been setup successfully.



  20. ××××××××××××××××××××××××××××××××××××××××××××××

  21. 附:SQLserver中的isql命令的参数详解
  22. 你是用Windows 帐号登录到本机的MS sql server,请用 isql -E
  23. 假设windows 帐号 ntuser1 要登录本机MS sql server,要这样做。
  24. 1、以NT帐号ntuser1登陆到Windows2000 professional,不是 MS SQL Server。
  25. 2、isql -S Server -E
  26. 二、Sql Server 帐号这样做:
  27. 1、将身份验证设为SQL Server 和 Windows。
  28. 2、isql -U login_id -P password -S server isql [-?] | [-L] | [
  29. { {-U login_id [-P password]} | -E }
  30. [-S server_name] [-H wksta_name] [-d db_name]
  31. [-l time_out] [-t time_out] [-h headers]
  32. [-s col_separator] [-w column_width] [-a packet_size]
  33. [-e] [-x max_text_size] [-c cmd_end] [-q "query"] [-Q "query"]
  34. [-n] [-m error_level] [-r {0 | 1}]
  35. [-i input_file] [-o output_file] [-p] [-b] [-O] ]-?
  36. 显示 isql 开关的语法摘要。
  37. -L列出在本地配置的服务器和在网络上广播的服务器的名称。
  38. -U login_id用户登录 ID。登录 ID 区分大小写。
  39. -P password 是用户指定的密码。如果未使用
  40. -P 选项,isql 将提示输入密码。如果在命令提示的末尾使用 -P 选项而不带密码,isql 使用默认密码NULL)。
  41. 密码区分大小写。 ISQLPASSWORD 环境变量使您得以为当前会话设置默认密码。因此,不需要通过硬编码来在
  42. 批处理文件中设置密码。如果没有 为 -P 选项指定密码,isql 首先检查 ISQLPASSWORD 变量。如果未设置
  43. 值,isql使用默认密码 (NULL)。以下示例 在命令提 示处设置LPASSWORD 变量,然后访问 isql 实用工具:C:\>
  44. SET ISQLPASSWORD=abracadabraC:\>isql -E使用信任连接而不请 求密码。
  45. -S server_name
  46. 指定要连接到的 SQL Server 默认实例。isql 不支持连接到 SQL Server 2000 命名实例。如果未指定服务
  47. 器,isql 将连接 到本地计算机上的 SQL Server 默认实例。如果要在网络上从远程计算机执行 isql,则需要
  48. 此选项。
  49. -H wksta_name 是工作站名称。
  50. 工作站名称存储在 sysprocesses.hostname 中并由 sp_who 显示。如果未指定,则采用当前计算机名称。
  51. -d db_name 启动 isql 时发出一个 USE db_name 语句。
  52. -l time_out 指定 isql 登录超时之前的秒数。
  53. 如果未指定 time_out 值,则命令无限期地运行。登录到 isql 的默认超时为 8 秒。
  54. -t time_out 指定命令超时之前的秒数。
  55. 如果未指定 time_out 值,则命令会无限期地运行;登录到 isql 的默认超时为 8 秒。
  56. -h headers 指定要在列标题之间打印的行数。
  57. 默认为每一查询结果集打印一次标题。使用 –1 指定不打印标题。如果使用 –1,则在参数和设置之间不能空
  58. (可以是 -h-1,不能是 -h –1)。
  59. -s col_separator 指定列分隔符字符,其默认为空格。
  60. 若要使用对操作系统有特殊含义的字符(例如 | ; & ),请将该字符用双引号 (") 引起来。
  61. -w column_width 允许用户设置屏幕输出的宽度。默认为 80 个字符。当输出行达到其最大屏幕宽度时,会拆分
  62. 为多个行。
  63. -a packet_size 使您得以请求不同大小的数据包。
  64. packet_size 的有效值介于 512 和 65535 之间。Microsoft Windows NT 版中的 isql 默认值为 8192
  65. ;另 外,Microsoft MS-DOS 版中的 isql 默认值为 512,但在该版本中也可以请求更大的数据包。数据
  66. 包大小的增加 可以提高较大脚本执行的性能,在这种执行中 GO 命令之间 SQL 语句的数量很重要。Microsoft
  67. 的测试表明 8192 是大容量 复制操作典型的最快设置。可以请求更大的数据包大小,但是如果请求不能得到批
  68. 准,则 isql 默认为 512。
  69. -e 回显输入。
  70. -x max_text_size 指定返回文本数据的最大长度,以字节为单位。
  71. 长于 max_text_size 的文本值将被截断。如果未指定 max_text_size,则文本数据在 4096 字节处截断。
  72. -c cmd_end 指定命令终止符。
  73. 默认情况下,通过单独在一行中输入 GO 来终止命令并将其发送到 SQL Server 2000。在重置命令终止时,不
  74. 要使用对操作 系统有特殊含义的 Transact-SQL 保留字或字符,无论其前面是否有反斜杠。
  75. -q "query" 启动 isql 时执行查询,但是在查询完成时不退出 isql。
  76. (注意查询语句不应包含 GO)。如果从批处理文件中发出查询,可使用 %variables。环境 %variables% 也可
  77. 用。例如:
  78. SET table = syso b j e c tsisql /q "Select * from %table%" 将查询用双引号引起来,将查询中嵌入的任何内
  79. 容用单引号引 起来。
  80. -Q "query" 执行查询,在查询完成时立即退出 isql。
  81. 将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。
  82. -n 从输入行中删除编号和提示符号 (>)。
  83. -m error_level 自定义错误信息的显示。
  84. 显示指定的或更高严重级别错误的消息数、状态和错误级别。不显示严重级别低于指定级别的错误的任何信
  85. 息。用 -1 指定 与消息一起返回所有标题,即使是信息类的消息。如果使用 –1,则在参数和设置之间不能有
  86. 空格
  87. (可以是 -m-1,不能是 -m -1)。
  88. -r {0 | 1} 将消息输出重定向到屏幕 (stderr)。
  89. 如果未指定参数,或指定参数为 0,那么仅重定向严重级别为 17 或更高的错误信息。
  90. 如果指定参数为 1,则将重定向所有消息输出(包括 "print")。
  91. -i input_file标识包含一批 SQL 语句或存储过程的文件。小于 () 比较运算符可以用来代替 –o。-p打印性能统计。
  92. -b 指定错误发生时 isql 退出并返回一个 DOS ERRORLEVEL 值。
  93. 当 SQL Server 错误信息的严重级别为 10 或更高时,返回给 DOS ERRORLEVEL变量的值为 1;否则,返回值为
  94. 0。MS-DOS 批处理文件可以测试 DOS ERRORLEVEL 的值并适当处理错误。
  95. -O指定 isql 还原为早期版本的行为。下列功能停用: EOF 批处理控制台宽度自动调整宽信息
  96. 该选项还将 DOS ERRORLEVEL 的默认值设置为 –1。
阅读(1123) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~