gpt4 book ai didi

sql-server - 如何管理 R 包中的数据库连接

转载 作者:行者123 更新时间:2023-12-02 20:43:13 27 4
gpt4 key购买 nike

我正在构建一个 R 包,其主要目的是消除处理专有数据库的痛苦,该数据库需要一些相当复杂的 SQL 查询才能获取数据。

因此,与 Microsoft SQL Server 的连接(通过 odbcDriverConnect 获得)是此包中不变且重要的部分,但我无法弄清楚如何最好地管理它,并且我'我希望得到关于如何在 R 中实现这一点的建议。

我目前的想法是:

  1. 让用户在调用任何函数之前确保他们具有有效的连接。每个函数都有 connection 作为必须传递的参数。这给用户带来了负担。

  2. 在每个函数中,调用get.connection(),每次都会获得新的连接。然后允许旧连接自然超时,这似乎是一种草率的方法。

  3. 同上,但每次返回相同的连接。这似乎不是一个可行的提议,因为我无法阻止通过 R 的连接超时。autoReconnect=TRUE 和我在不同语言中使用的其他技巧似乎没有效果。

在 Java 中,我可能会拥有一个填充有多个连接的 DatabaseConnectionPool,并根据需要简单地从该池中获取连接并将其返回到该池中。当我指定 autoReconnect=TRUE 时,Java 中似乎也没有超时问题。

非常感谢任何建议。

最佳答案

pool 是一个用于池化连接(例如数据库)的 R 包。如果您喜欢使用 github 包,请查看 https://github.com/rstudio/pool 。将根据需要重用或重新创建连接。

关于sql-server - 如何管理 R 包中的数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14779889/

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