SqlServer--bat批处理执行sql语句2-sqlcmd

首先需要知道,此处使用的批处理命令是osql ,如果安装了SqlServer,目录类似:

D:\Program Files\Microsoft SQL Server\100\Tools\Binn

脚本:

cd D:\Program Files\Microsoft SQL Server\100\Tools\Binn
d:
sqlcmd -S ip -d dbname-Uusername-P password -iC:\Users\nyzrj\Desktop\SQLQuery9.sql -oC:\Users\nyzrj\Desktop\SQLQuery9.txt

以上脚本,切换到osql所在的目录之后,执行osql命令。

通过 sqlcmd -? 查看相关参数:


用法: Sqlcmd            [-U 登录 ID]          [-P 密码]
  [-S 服务器]            [-H 主机名]          [-E 可信连接]
  [-N 加密连接][-C 信任服务器证书]
  [-d 使用数据库名称] [-l 登录超时值]     [-t 查询超时值]
  [-h 标题]           [-s 列分隔符]      [-w 屏幕宽度]
  [-a 数据包大小]        [-e 回显输入]        [-I 允许带引号的标识符]
  [-c 命令结束]            [-L[c] 列出服务器[清除输出]]
  [-q "命令行查询"]   [-Q "命令行查询" 并退出]
  [-m 错误级别]        [-V 严重级别]     [-W 删除尾随空格]
  [-u unicode 输出]    [-r[0|1] 发送到 stderr 的消息]
  [-i 输入文件]         [-o 输出文件]        [-z 新密码]
  [-f <代码页> | i:<代码页>[,o:<代码页>]] [-Z 新建密码并退出]
  [-k[1|2] 删除[替换]控制字符]
  [-y 可变长度类型显示宽度]
  [-Y 固定长度类型显示宽度]
  [-p[1] 打印统计信息[冒号格式]]
  [-R 使用客户端区域设置]
  [-b 出错时中止批处理]
  [-v 变量 = "值"...]  [-A 专用管理连接]
  [-X[1] 禁用命令、启动脚本、环境变量[并退出]]
  [-x 禁用变量替换]
  [-? 显示语法摘要]


此处使用的主要是

-S 服务器ip 

-d 数据库名称

-U 连接用户名

-P 用户的密码

-i 执行的sql文件

-o sql语句输出的结果文件


备注:

SQLQuery9.sql 文件的内容是:

select * from t_0000000001 

因此,输出的 SQLQuery9.txt 的内容是查询结果集。




注意:

发现,两个命令大同小异。

至少在这个简单的例子中体现不出来,应该sqlcmd的用处更多,待定吧。。。。。


你可能感兴趣的:(★数据库)