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的用处更多,待定吧。。。。。
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的用处更多,待定吧。。。。。
相关文章推荐
- SqlServer--bat批处理执行sql语句1-osql
- SqlServer--bat批处理执行sql语句1-osql
- SQLSERVER 存储过程里如何执行SQL语句
- SQLServer 2000定时执行SQL语句
- Sqlserver 清楚执行缓存, 用于SQL语句性能测试
- [转]查询sqlserver 正在执行的sql语句的详细信息
- Linux下用freetds执行SqlServer的sql语句和存储过程
- 查询sqlserver 正在执行的sql语句的详细信息
- SQLserver不是可以识别的内置函数名称"的错误,通过set statistics time on能得到SQL语句的执行时间精确到毫秒.
- SQLserver不是可以识别的内置函数名称"的错误,通过set statistics time on能得到SQL语句的执行时间精确到毫秒.
- SQLServer找出执行慢的SQL语句
- sqlserver 存储过程中拼接sql语句 动态执行
- SQLServer找出执行慢的SQL语句
- sqlserver oracle sql语句执行对比
- SqlServer动态执行SQL语句sp_executesql、Exec
- SqlServer动态执行SQL语句sp_executesql、Exec
- 查询sqlserver 正在执行的sql语句的详细信息
- sqlserver 中使用sqlcmd 执行*.sql文件
- 创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo
- sqlserver中获取执行sql语句时间的方法