在PB中如何停止和启动sql服务器

[复制链接]
查看11 | 回复8 | 2021-1-27 06:50:05 | 显示全部楼层 |阅读模式
用DOS的方法是不行的,因为服务器停止和启动需要时间,没有停止和启动前,PB下面的语句就执行了。请高手指点
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
我每天都看这个贴子,怎么没有人回呀?
回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
sqlserver我不是很熟,不知道有没有直接调用的方法,但是dos调用肯定是可行的,方法是写一个bat文件,第一句停止或启动sql服务器,第二句建立一个空文件
pb里这样写:
1、删除作为标志的空文件
2、调用批处理
3、判断空文件是否存在,存在则继续执行,否则超时退出
回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
用dos命令可以啊!
因为服务器停止和启动需要时间,没有停止和启动前,PB下面的语句就执行了
下面的语句?有什么内容啊!
实在想等,可以给程序一段延迟

回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
用DOS的吧。我就是用DOS来实现的!
原理是这样的:
1.run("netstopmssqlserver")
2.我的是xp系统,运行窗口标题为c:\windows\system32\cmd.exe
此处系统不同,路径也会不同,可以调用API函数来获取系统目录。
3.利用API函数FindwindowA查找标题为c:\windows\system32\cmd.exe的窗口,一直到返回句柄不为0,即该DOS窗口已经开始运行。
4.再利用FindwindowA查找c:\windows\system32\cmd.exe的窗口,一直到返回句柄为0,即netstop..已经运行完毕。
5.run("netstart..")
类似重复下2-3
.....执行以后的程序
回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
连接数据库的地方再调一下就可以解决这个问题。database=false

回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
其中一项是database=false里面还有很多的一些要调的你自己可以仔细的看一下

回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
lz要干嘛?
回复

使用道具 举报

千问 | 2021-1-27 06:50:05 | 显示全部楼层
不知,帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行