我正在构建一个 R 包,其主要目的是消除处理专有数据库的痛苦,该数据库需要一些相当复杂的 SQL 查询才能获取数据。
因此,与 Microsoft SQL Server 的连接(通过以下方式获得)odbcDriverConnect
)是这个包的一个恒定且重要的部分,但我无法弄清楚如何最好地管理它,我希望得到关于如何在 R 中实现它的建议。
我目前的想法是:
让用户在调用任何函数之前确保他们具有有效的连接。每个函数都有connection
作为必须传递的参数。这给用户带来了负担。
在每个函数中,调用get.connection()
每次都会获得新的连接。然后允许旧连接自然超时,这似乎是一种草率的方法。
如上所述,但每次返回相同的连接。这似乎不是一个可行的提议,因为我无法阻止通过 R 的连接超时。autoReconnect=TRUE
我在不同语言中使用过的其他技巧似乎没有效果。
在 Java 中,我可能会拥有一个填充有多个连接的 DatabaseConnectionPool,并且只需根据需要从该池中获取连接并将它们返回到该池中。当我指定时,Java 中似乎也没有超时问题autoReconnect=TRUE
.
任何建议都非常感激。
pool
是一个用于池化连接(例如数据库)的 R 包。如果您喜欢使用 github 包,请查看https://github.com/rstudio/pool https://github.com/rstudio/pool。将根据需要重用或重新创建连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)