gpt4 book ai didi

sql - DataSnap 服务器 - 根据客户端请求共享数据库连接或新连接?

转载 作者:行者123 更新时间:2023-12-03 15:12:59 26 4
gpt4 key购买 nike

我有一个 Delphi XE2 DataSnap 服务器(Windows 服务),连接到后端 MS SQL Server 2008(同一服务器框),为 REST 客户端请求提供服务。
一段时间以来,一切都运行良好,直到最近,我遇到了一个问题,由于某种原因,DataSnap 服务失去了与 SQL Server 的连接。

服务无法重新建立连接,我必须重新启动 DataSnap 服务才能继续。
这让我开始思考,因为目前该服务仅使用 1 个为所有客户端请求共享的 SQL 连接 (TADOConnection)。我这样做是因为我不想为每个客户端请求实例化一个新的 SQL 连接带来开销。

我正在考虑为每个请求建立一个单独的 SQL 连接是否实际上会更好,以及开销是否会很明显 - 有人可以对此发表评论/建议吗?

最佳答案

这是一个结构良好的数据访问层非常有用的地方,可以对其进行修改以尝试不同的方法并将数据库连接与代码的其余部分隔离。

如果您在客户端和 DataSnap 服务器之间使用 MIDAS (DataSnap),则强烈建议使用池方法(如 mjn 建议),因为我发现它具有很大的连接开销。

我已经构建了一些在运行时使用普通 TADOConnection 的 Web 服务(流量相当低),并且发现建立数据库连接的开销可以忽略不计,当然与从设备到网络的整体网络延迟相比。服务器和服务器。
如果您发现 TADOConnection 在高流量环境中仍然产生太多开销,您可以轻松地将您自己的连接池添加到这样的系统中,如上所述。

关于sql - DataSnap 服务器 - 根据客户端请求共享数据库连接或新连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11665516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com