嵌入式 Firebird 卸载延迟
关闭应用程序后,fbclient.dll 会在内存中保留大约 3 秒。因此它会锁定数据库文件并阻止我的应用程序卸载。我正在使用嵌入式 Firebird。
该问题与事件有关。我使用 isc_que_events 注册活动。如果我不注册事件,dll 会立即卸载。
我在以前的FB版本中遇到过这个问题,现在在2.1.3中它仍然是相同的。
这里描述了同样的问题 http://tracker.firebirdsql.org/browse/CORE-15< /a>,但它被解析为“无法重现”。
有人遇到这个问题还是我的代码有问题?
After I close my application fbclient.dll remains in memory for about 3 seconds. So it locks the database file and prevents my application from unloading. I'm using Firebird embedded.
The problem is related to events. I signup to events using isc_que_events. If I don't signup to events dll unloads instantly.
I faced this problem in previous FB versions and now in 2.1.3 it's still the same.
The same issue is described here http://tracker.firebirdsql.org/browse/CORE-15, but it's resolved as "Cannot Reproduce".
Is anybody facing this problem or there's something wrong with my code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您正在使用 .NET 提供程序吗?这使连接在池中保持打开状态,也许这就是问题所在。尝试在退出应用程序之前清除连接池:
Are you using the .NET Provider? This one keeps connections open in a pool, maybe this is the problem. Try clearing the connection pool before exiting your application:
我重写了我的逻辑,现在我不需要订阅本地事件。所以这对我来说不再是问题了。但问题仍然存在。
I've rewritten my logic and now I don't need to subscribe to local events. So it's not a problem for me anymore. But the issue still remains.