您的位置:首页 > 数据库

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

2017-01-16 17:07 1276 查看
首先需要知道,此处使用的批处理命令是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的用处更多,待定吧。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: