找回密码
 加入
搜索
查看: 10278|回复: 7

[系统综合] Autoit开启和关闭Oracle服务 问题

  [复制链接]
发表于 2013-8-14 10:38:00 | 显示全部楼层 |阅读模式
这是我编写的脚本,但是不能开启和关闭Oracle服务,请大家看一下是什么原因?   我的电脑是win7

#include<ServiceControl.au3>
#include <GUIConstantsEx.au3>

OracleServiceColltor()

Func OracleServiceColltor()
        Local $Button_start, $Button_stop, $event_msg,$Lable_msg
        GUICreate("OracleServiceColltor")
       
        Opt("GUICoordMode", 0)
    $Button_start = GUICtrlCreateButton("开启服务", 50, 30, 100)
    $Button_stop = GUICtrlCreateButton("关闭服务", 200,0,100)
       
        $Lable_msg = GUICtrlCreateEdit(getOracleServiceState(),-230,40,360,200)


   GUISetState()
   
        While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $Button_start
                StartOracleService()
            Case $msg = $Button_stop
                StopOracleService()
        EndSelect
    WEnd
EndFunc




Func StartOracleService()
       
         
        If _ServiceRunning("","OracleServiceORCL") <> 1 Then
               
                 _StartService("","OracleServiceORCL")
         EndIf
         
         If _ServiceRunning("","OracleOraDb11g_home1TNSListener") <> 1 Then
                 
                 _StartService("","OracleOraDb11g_home1TNSListener")
        EndIf
       
        If _ServiceRunning("","OracleMTSRecoveryService") <> 1 Then
               
                 _StartService("","OracleMTSRecoveryService")
        EndIf
       
EndFunc


Func StopOracleService()
       
         
        If _ServiceRunning("","OracleServiceORCL") = 1 Then
               
                 _StopService("","OracleServiceORCL")
         EndIf
         
         If _ServiceRunning("","OracleOraDb11g_home1TNSListener") = 1 Then
                 
                 _StopService("","OracleOraDb11g_home1TNSListener")
        EndIf
       
        If _ServiceRunning("","OracleMTSRecoveryService") = 1 Then
               
                 _StopService("","OracleMTSRecoveryService")
        EndIf
       
EndFunc


Func getOracleServiceState()
       
        Local $State
       
        If _ServiceRunning("","OracleServiceORCL") <> 1 Then
               
                 $State  = "OracleServiceORCL stop" & @CRLF
         Else
                 $State =  "OracleServiceORCL start" & @CRLF
         EndIf
         
         If _ServiceRunning("","OracleOraDb11g_home1TNSListener") <> 1 Then
                 
                $State = $State & "OracleOraDb11g_home1TNSListener stop" & @CRLF
         Else
                $State = $State & "OracleOraDb11g_home1TNSListener start" & @CRLF
        EndIf
       
        If _ServiceRunning("","OracleMTSRecoveryService") <> 1 Then
               
                $State = $State & "OracleMTSRecoveryService stop" & @CRLF
         Else
                $State = $State & "OracleMTSRecoveryService start" & @CRLF
        EndIf

        Return $state
       
EndFunc
发表于 2013-8-14 10:45:55 | 显示全部楼层
类似的程序?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2013-8-14 11:31:49 | 显示全部楼层
回复 2# 虫子樱桃


    对,请问这个程序如何实现的呢?可以给我参考吗?不胜感激。
发表于 2013-8-14 15:22:01 | 显示全部楼层
回复 3# dominge


   主要就是一个查询服务状态的函数,不过内容需要自己修改下!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2013-8-14 16:44:22 | 显示全部楼层
回复 4# 虫子樱桃


    谢谢啦  很有帮助  我找到上午的原因了  是因为没有用管理员运行  所以没有权限去修改服务的状态  谢谢你的帮助  我会好好学习你的代码的
发表于 2013-8-20 07:56:38 | 显示全部楼层
我也顺便下那个UDF来学学
发表于 2013-8-20 08:31:34 | 显示全部楼层
Windows Services UDF.7z 有这UDF例子么?
发表于 2013-8-20 21:39:17 | 显示全部楼层
也许是虫子樱桃  兄写的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-11 08:18 , Processed in 0.081191 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表