如何实现bat/cmd批处理连接SqlServer数据库查询脚本
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍"如何实现bat/cmd批处理连接SqlServer数据库查询脚本",在日常操作中,相信很多人在如何实现bat/cmd批处理连接SqlServer数据库查询脚本问题上存在疑惑,小编查阅
千家信息网最后更新 2024年09月22日如何实现bat/cmd批处理连接SqlServer数据库查询脚本
这篇文章主要介绍"如何实现bat/cmd批处理连接SqlServer数据库查询脚本",在日常操作中,相信很多人在如何实现bat/cmd批处理连接SqlServer数据库查询脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现bat/cmd批处理连接SqlServer数据库查询脚本"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
代码如下:
@echo oFFtitle Zabbix监控之数据库查询bat脚本::名称:Zabbix监控脚本批处理版::描述:通过osql命令行工具查询数据库,进行一些自定义监控::支持:需要osql.exe和MSVCR71.DLL支持,可以放到脚本同级目录::时间:2015-03-20:: 进入脚本当前目录cd "%~dp0"::取得参数set "Usg=%1"::判断参数if "%Usg%"=="" goto Example::初始化连接参数set host="10.172.10.80" set db="DBname"set user="DBuser"set pd="password"::根据不同的参数执行不同的查询代码(自行调整)if "%Usg2%"=="monitor1" ( ::监控1 set sql="sql语句1") else if "%Usg%"=="monitor2" ( ::监控2 set sql="sql语句2" ) else if "%Usg%"=="monitor3" ( ::监控3 set sql="sql语句3") else if "%Usg%"=="monitor4" ( ::监控4 set sql="sql语句4")::连接数据库并执行查询(此处的for是对查询到的结果做提取,所以需要按照实际情况自行搞定。。)for /f "skip=2 delims= " %%i in ('osql.exe -S %host% -U %user% -P %pd% -d %db% -Q %sql%') do ( set result=%%i goto :result)::直接不带参数执行将提示用法:Exampleecho Example:echo=echo %~nx0 Conditionsecho=echo ------------------------------echo Script will auto exit in 5s...ping -n 5 127.1>nulexit::输出结果后自动退出:resultecho %result%
使用方法:
①、验证执行:在CMD中执行【脚本.bat + 监控名】即可,比如:D:\>monitor1.bat monitor1
②、关联zabbix:zabbix中怎么设置我就不赘述了,注意下zabbix配置文件zabbix_command.conf如下添加:
UserParameter=NewMonitor[*],cmd /k c:\zabbix\NewMonitor.bat monitor1
Ps:主要是注意,需要添加一个cmd /k前置,否则zabbix执行不了,也得不到数据。
最后附几个 osql.exe 命令的实用参数及相关下载地址:
-U login_id 用户登录 ID。登录 ID 区分大小写。 -P password 是用户指定的密码。如果未使用 -P 选项,osql 将提示输入密码。如果在命令提示符的末尾使用 -P 选项而不带密码,osql 使用默认密码 (NULL)。密码区分大小写。-S server_name[\instance_name] 指定要连接的 Microsoft® SQL Server™ 2000 实例。在该服务器上指定 server_name 以连接到 SQL Server 的默认实例。在该服务器上指定 server_name\instance_name 以连接到一个已命名的 SQL Server 2000 的实例。如果未指定服务器,osql 将连接到本地计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 osql 时,此选项是必需的。 -d db_name 启动 osql 时发出一个 USE db_name 语句。-Q "query" 执行查询并立即退出 osql。将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。-q "query" 启动 osql 时执行查询,但是在查询完成时不退出 osql。(注意查询语句不应包含 GO)。如果从批处理文件中发出查询,请使用 %variables 或环境 %variables%。例如: SET table = sysobjects osql /q "Select * from %table%"
到此,关于"如何实现bat/cmd批处理连接SqlServer数据库查询脚本"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
查询
脚本
数据
监控
数据库
参数
语句
密码
实例
学习
命令
服务器
提示
服务
不同
实用
代码
大小
引号
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
移动互联网科技的作用
广东地产软件开发报价
软件开发项目 框架协议模板
设备软件开发软件
php5数据库使用教程
落实网络安全工作的实施意见
软件开发公司倒闭了不给代码
电脑mc联机无法连接服务器
数据库的优点作用
我的世界云端服务器
维普数据库会收录本校往届论文吗
网络安全保障方案介绍
怀化口碑好的软件开发公司
软件开发要学些啥
网络安全四梁八柱是什么
网络信息网络安全的三个时代
cim软件开发难吗
前瞻网数据库360
网络安全金典案例
软件开发兼职好做么
贵州睿蝶网络技术有限责任公司
c 做个小软件开发
邯郸正规软件开发哪家专业
抓网络安全责任
服务器防cc软件
面向对象的软件开发是用例
饥荒联机版服务器mod怎么启动
如何准备软件开发工作内容
网络安全知识大赛理论知识
民泰服务器主机