问一个关于delphi服务的问题

shuihan20e 2013-09-04 03:44:53
用delphi的ServiceApplication写了一个服务,连接oracle,但是每次重启时,服务比数据库启动的要快,如何让这个服务等oracle启动后再启动?
网上看到有人说加依存,TDependencies,但是我试了,好像不管用

谁有解决方法?
...全文
577 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuihan20e 2014-01-24
  • 打赏
  • 举报
回复
引用 17 楼 lhylhy 的回复:
[quote=引用 15 楼 shuihan20e 的回复:] [quote=引用 13 楼 lhylhy 的回复:] 延迟一些再连数据库。
我就是想知道怎样延迟?[/quote]
引用 15 楼 shuihan20e 的回复:
[quote=引用 13 楼 lhylhy 的回复:] 延迟一些再连数据库。
我就是想知道怎样延迟?[/quote] sleep[/quote] 你有没有在服务里试过?根本不行,这个方法我一开始就试过了,不光要sleep,还要在execute处死循环
lhy 2014-01-24
  • 打赏
  • 举报
回复
引用 18 楼 shuihan20e 的回复:
[quote=引用 17 楼 lhylhy 的回复:] [quote=引用 15 楼 shuihan20e 的回复:] [quote=引用 13 楼 lhylhy 的回复:] 延迟一些再连数据库。
我就是想知道怎样延迟?[/quote]
引用 15 楼 shuihan20e 的回复:
[quote=引用 13 楼 lhylhy 的回复:] 延迟一些再连数据库。
我就是想知道怎样延迟?[/quote] sleep[/quote] 你有没有在服务里试过?根本不行,这个方法我一开始就试过了,不光要sleep,还要在execute处死循环[/quote] 服务当然要死循环了。
「已注销」 2014-01-24
  • 打赏
  • 举报
回复
只能说,这个需求很蛋疼
shuihan20e 2014-01-23
  • 打赏
  • 举报
回复
引用 14 楼 tcmakebest 的回复:
[quote=引用 12 楼 shuihan20e 的回复:] 愿闻其详,继续啊
这么老的帖子,连接数据库失败的时候,等待一段时间后重连就好了,简直太简单了,晕[/quote] 是啊,太简单了,详细点说,在execute里吗?
shuihan20e 2014-01-23
  • 打赏
  • 举报
回复
引用 13 楼 lhylhy 的回复:
延迟一些再连数据库。
我就是想知道怎样延迟?
lhy 2014-01-23
  • 打赏
  • 举报
回复
引用 15 楼 shuihan20e 的回复:
[quote=引用 13 楼 lhylhy 的回复:] 延迟一些再连数据库。
我就是想知道怎样延迟?[/quote]
引用 15 楼 shuihan20e 的回复:
[quote=引用 13 楼 lhylhy 的回复:] 延迟一些再连数据库。
我就是想知道怎样延迟?[/quote] sleep
tcmakebest 2014-01-22
  • 打赏
  • 举报
回复
引用 12 楼 shuihan20e 的回复:
愿闻其详,继续啊
这么老的帖子,连接数据库失败的时候,等待一段时间后重连就好了,简直太简单了,晕
lhy 2014-01-22
  • 打赏
  • 举报
回复
延迟一些再连数据库。
shuihan20e 2014-01-22
  • 打赏
  • 举报
回复
引用 10 楼 tcmakebest 的回复:
[quote=引用 9 楼 shuihan20e 的回复:] [quote=引用 6 楼 tcmakebest 的回复:] 启动先后不应该影响到正常的处理,如果数据库关闭后再开,难道服务也需要重启才能生效吗? 这是完全可以避免的,服务应该隔一段时间自动连接数据库。
服务启动进要从数据库里读取参数,不读取到参数就不能启动,启动完成后,不再需要连接数据库了 [/quote] 脑子不要这么呆板啊,第一次读取不到,那等一分钟再读,直到成功。 每过一小时再读,如果数据库中的参数变了,就可以自动使用新的配置了。 明白?[/quote] 愿闻其详,继续啊
shuihan20e 2013-09-06
  • 打赏
  • 举报
回复
引用 10 楼 tcmakebest 的回复:
[quote=引用 9 楼 shuihan20e 的回复:] [quote=引用 6 楼 tcmakebest 的回复:] 启动先后不应该影响到正常的处理,如果数据库关闭后再开,难道服务也需要重启才能生效吗? 这是完全可以避免的,服务应该隔一段时间自动连接数据库。
服务启动进要从数据库里读取参数,不读取到参数就不能启动,启动完成后,不再需要连接数据库了 [/quote] 脑子不要这么呆板啊,第一次读取不到,那等一分钟再读,直到成功。 每过一小时再读,如果数据库中的参数变了,就可以自动使用新的配置了。 明白?[/quote] 请给出方法啊,在哪写代码Execute里? 这个貌似只执行一次,要写一个死循环在里面?我试过貌似不行
tcmakebest 2013-09-05
  • 打赏
  • 举报
回复
启动先后不应该影响到正常的处理,如果数据库关闭后再开,难道服务也需要重启才能生效吗? 这是完全可以避免的,服务应该隔一段时间自动连接数据库。
TheMadMan 2013-09-05
  • 打赏
  • 举报
回复
顶3楼。 另外就没有服务返回?确定服务启动了,再启动啊。
shuihan20e 2013-09-05
  • 打赏
  • 举报
回复
win2003里没有延迟启动
tcmakebest 2013-09-05
  • 打赏
  • 举报
回复
引用 9 楼 shuihan20e 的回复:
[quote=引用 6 楼 tcmakebest 的回复:] 启动先后不应该影响到正常的处理,如果数据库关闭后再开,难道服务也需要重启才能生效吗? 这是完全可以避免的,服务应该隔一段时间自动连接数据库。
服务启动进要从数据库里读取参数,不读取到参数就不能启动,启动完成后,不再需要连接数据库了 [/quote] 脑子不要这么呆板啊,第一次读取不到,那等一分钟再读,直到成功。 每过一小时再读,如果数据库中的参数变了,就可以自动使用新的配置了。 明白?
shuihan20e 2013-09-05
  • 打赏
  • 举报
回复
引用 6 楼 tcmakebest 的回复:
启动先后不应该影响到正常的处理,如果数据库关闭后再开,难道服务也需要重启才能生效吗? 这是完全可以避免的,服务应该隔一段时间自动连接数据库。
服务启动进要从数据库里读取参数,不读取到参数就不能启动,启动完成后,不再需要连接数据库了
shuihan20e 2013-09-05
  • 打赏
  • 举报
回复
引用 3 楼 wr960204 的回复:
服务可以设置相互的依赖关系的.你的服务可以设置成依赖数据库服务
哪设置?TDependencies,这个方法无效,加上以后,在服务管理器里也看不到依存
shuihan20e 2013-09-05
  • 打赏
  • 举报
回复
引用 2 楼 shien00000xu 的回复:
对,延迟启动,你可以建立一个引导程序,当你所需要的服务都启动完成后,再连接数据库。
啥引导程序,一个服务检测数据库是否启动,如果启动了再启动另一个服务?这种方案能实现,但是不能用这方法
武稀松 2013-09-04
  • 打赏
  • 举报
回复
服务可以设置相互的依赖关系的.你的服务可以设置成依赖数据库服务
shien00000xu 2013-09-04
  • 打赏
  • 举报
回复
对,延迟启动,你可以建立一个引导程序,当你所需要的服务都启动完成后,再连接数据库。
鐵蛋 2013-09-04
  • 打赏
  • 举报
回复
延迟启动。。

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧