【发布时间】:2015-12-15 22:17:33
【问题描述】:
我有 C# windows 服务,它在白天使用 Quartz.net 定期轮询 ADS 9.10 优势数据库。窗口的服务仍在开发中,尚未上线。在测试盒上,数据库每晚刷新一次。正在还原数据库时,Windows 服务会正确记录错误。恢复完成后,Windows 服务会继续正确运行几次尝试,但随后会出现此错误。
错误:Advantage.Data.Provider.AdsException:错误 6097:连接路径或 ADS.INI 文件中指定的 IP 地址或端口错误。 axServerConnect 在 Advantage.Data.Provider.AdsInternalConnection.Connect() 在 Advantage.Data.Provider.AdsPoolManager.GetConnection(字符串 strConnectionString,AdsInternalConnection& internalConnection,AdsConnectionPool& 池) 在 Advantage.Data.Provider.AdsConnection.Open()
解决此问题的唯一方法是停止并启动服务。对我来说,这意味着必须缓存一个错误的连接,我不明白,因为我正在围绕连接和命令执行 C# USING 包装器,从而在连接完成后处理连接。我试过关闭连接字符串中的连接池
AdsConnection.FlushConnectionPool(_connectionString)
AdsConnection.FlushConnectionPool()
请注意,我不使用 ADS.ini 文件,IP 地址和端口号在连接字符串中。
一种解决方案可能是使用计划任务而不是石英作业......但我喜欢石英,所以我想解决这个问题。
【问题讨论】:
标签: c# ado.net windows-services advantage-database-server