17 个解决方案
#1
程序问题,先检测是否成功启动其它服务呗,不懂帮顶先
#2
你也可以用程序捕捉错误呀,没有启动的时候提示错误
#3
最好就是开机就启动。
#4
如果做成服务肯定没问题,可以把sqlserver依赖关系加进去,但是是一般的启动程序,需要系统登录进去后才能启动的就有这个问题
#5
软件本来就是开机就启动的,但是sqlserver还没启动好,软件就开起来了
#6
就是把sql服务,开机就启动嘛,免得麻烦
#7
sqlserver也是开机就启动的,但是有个顺序啊,软件先起来了,sqlserver服务后起来啊,怎么让是sqlserver服务先起来
#8
实在不行就先自动启动SQL 再启动你的程序
#9
这2个都加入系统的启动项了,问题就是软件启动比较快,看来不行的话只有用定时器去检测了
#10
如果你的软件可以修改,可以加以下机制处理
1、发现sql server不能连接,怎软件进入休眠,休眠时间可以设置。
2、休眠时间到的时候,尝试连接接数据库,能连接则进入正常状态,进行正常操作。否则再次休眠。
1、发现sql server不能连接,怎软件进入休眠,休眠时间可以设置。
2、休眠时间到的时候,尝试连接接数据库,能连接则进入正常状态,进行正常操作。否则再次休眠。
#11
启动时用命令行试试,这样就有先后了。
#12
网上找的---改变Windows服务的启动顺序
没有验证过,不知道对你是否有用。
没有验证过,不知道对你是否有用。
要改变Windows服务的启动顺序,只要修改Windows的注册表就可 以了。任何Windows服务的注册信息可以在注册表的HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Services\\键下找到。下面就介绍几个与服务启动顺序相关的服务的值:
Group值:一个REG_SZ类型的值。它用来描述服务属于那一个服务组。如果服务没有这一项,那么它不属于任何一个服务组,系统则会默认的将其在所有的服务启动后加载。
Tag值:一个REG_DWORD类型的值。它用来描述服务的标识。每一个在服务组中的服务都会被分配一个唯一的标识。注册表通过对服务组的服务标识的排列来安排,同一服务组中的个服务的加载先后顺序。
那么,如何改变服务的启动顺序,现在就被分为了两个步骤,一是:改变服务组的启动顺序。二是:改变服务组中各服务的启动顺序。
先来介绍第一步:注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder键的List值中保存了表示服务组启动顺序的信息。每一个服务组都是一个字符串,通过字符串在值中排列的先后位置表示服务组被加载的先后顺序。要想改变服务组的加载顺序,只要改变它们的位置就可以了。方法:用Regedit32.exe(不是,Regedit.exe,因为,在这里双击List值后,只能看到十六进制的数据,不便于修改。)打开该值,这是一个字符编辑环境,改变里面的组的先后顺序,然后确定改动。服务组的启动顺序就搞定了。
第二步:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList键下有各服务组中各服务启动顺序的信息。每个服务组信息都被保存为了一个REG_BINARY类型的值,如:Pointer Port 服务组的值为030000000200000001000000030000000。下面为了方便观察,我们把它处理为03000000 02000000 01000000 030000000 它表示Pointer Port 服务组有三个服务,TAG值为2的服务先加载,然后是TAG值为1的服务,最后是TAG值为3的服务加载(信息解读的顺序是从左到右)。要改变服务在组中的加载顺序,只要编辑这个二进制串就可以了。
对于使用MSSQL数据库的BCHAT来说,最好是配置成先启动MSSQL,然后启动BCHAT_11433亦即dbd服务,最后启动各个聊天室服务如BCHAT_2000。默认情况下这些服务都没有设置GROUP值的,因此它们的之间的启动先后顺序是不确定的。为明确它们的先后顺序,可以如下操作:
给MSSQLSERVER服务指定一个GROUP值,如:MSSQL ;
给BCHAT_11433服务指定一个GROUP值,如:DBD ;
其他BCHAT服务无需指定GROUP值;
设置ServiceGroupOrder,在其列表最后分别加入“MSSQL”和“DBD”。
#13
以上修改不单用于机器启动的时候,也可用于sql server不稳定重启的情况
#14
sqlserver启动在先,但是启动慢,软件是可以改的,休眠还是用定时器好,不然界面会死掉,一点反应都没
#15
嗯,捕捉错误后等吧
#16
顶,太强了。
#17
结贴散分
#1
程序问题,先检测是否成功启动其它服务呗,不懂帮顶先
#2
你也可以用程序捕捉错误呀,没有启动的时候提示错误
#3
最好就是开机就启动。
#4
如果做成服务肯定没问题,可以把sqlserver依赖关系加进去,但是是一般的启动程序,需要系统登录进去后才能启动的就有这个问题
#5
软件本来就是开机就启动的,但是sqlserver还没启动好,软件就开起来了
#6
就是把sql服务,开机就启动嘛,免得麻烦
#7
sqlserver也是开机就启动的,但是有个顺序啊,软件先起来了,sqlserver服务后起来啊,怎么让是sqlserver服务先起来
#8
实在不行就先自动启动SQL 再启动你的程序
#9
这2个都加入系统的启动项了,问题就是软件启动比较快,看来不行的话只有用定时器去检测了
#10
如果你的软件可以修改,可以加以下机制处理
1、发现sql server不能连接,怎软件进入休眠,休眠时间可以设置。
2、休眠时间到的时候,尝试连接接数据库,能连接则进入正常状态,进行正常操作。否则再次休眠。
1、发现sql server不能连接,怎软件进入休眠,休眠时间可以设置。
2、休眠时间到的时候,尝试连接接数据库,能连接则进入正常状态,进行正常操作。否则再次休眠。
#11
启动时用命令行试试,这样就有先后了。
#12
网上找的---改变Windows服务的启动顺序
没有验证过,不知道对你是否有用。
没有验证过,不知道对你是否有用。
要改变Windows服务的启动顺序,只要修改Windows的注册表就可 以了。任何Windows服务的注册信息可以在注册表的HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Services\\键下找到。下面就介绍几个与服务启动顺序相关的服务的值:
Group值:一个REG_SZ类型的值。它用来描述服务属于那一个服务组。如果服务没有这一项,那么它不属于任何一个服务组,系统则会默认的将其在所有的服务启动后加载。
Tag值:一个REG_DWORD类型的值。它用来描述服务的标识。每一个在服务组中的服务都会被分配一个唯一的标识。注册表通过对服务组的服务标识的排列来安排,同一服务组中的个服务的加载先后顺序。
那么,如何改变服务的启动顺序,现在就被分为了两个步骤,一是:改变服务组的启动顺序。二是:改变服务组中各服务的启动顺序。
先来介绍第一步:注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder键的List值中保存了表示服务组启动顺序的信息。每一个服务组都是一个字符串,通过字符串在值中排列的先后位置表示服务组被加载的先后顺序。要想改变服务组的加载顺序,只要改变它们的位置就可以了。方法:用Regedit32.exe(不是,Regedit.exe,因为,在这里双击List值后,只能看到十六进制的数据,不便于修改。)打开该值,这是一个字符编辑环境,改变里面的组的先后顺序,然后确定改动。服务组的启动顺序就搞定了。
第二步:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList键下有各服务组中各服务启动顺序的信息。每个服务组信息都被保存为了一个REG_BINARY类型的值,如:Pointer Port 服务组的值为030000000200000001000000030000000。下面为了方便观察,我们把它处理为03000000 02000000 01000000 030000000 它表示Pointer Port 服务组有三个服务,TAG值为2的服务先加载,然后是TAG值为1的服务,最后是TAG值为3的服务加载(信息解读的顺序是从左到右)。要改变服务在组中的加载顺序,只要编辑这个二进制串就可以了。
对于使用MSSQL数据库的BCHAT来说,最好是配置成先启动MSSQL,然后启动BCHAT_11433亦即dbd服务,最后启动各个聊天室服务如BCHAT_2000。默认情况下这些服务都没有设置GROUP值的,因此它们的之间的启动先后顺序是不确定的。为明确它们的先后顺序,可以如下操作:
给MSSQLSERVER服务指定一个GROUP值,如:MSSQL ;
给BCHAT_11433服务指定一个GROUP值,如:DBD ;
其他BCHAT服务无需指定GROUP值;
设置ServiceGroupOrder,在其列表最后分别加入“MSSQL”和“DBD”。
#13
以上修改不单用于机器启动的时候,也可用于sql server不稳定重启的情况
#14
sqlserver启动在先,但是启动慢,软件是可以改的,休眠还是用定时器好,不然界面会死掉,一点反应都没
#15
嗯,捕捉错误后等吧
#16
顶,太强了。
#17
结贴散分