我建立的R包,它的主要目的是抽象掉处理的专有数据库,需要一些相当复杂的SQL查询,以便获取数据了疼痛。
因此,使用Microsoft SQL服务器(通过获得连接odbcDriverConnect
)是这个包的一个恒定的重要组成部分,但我不能工作了如何最好地管理这一点,我希望的意见,这应该怎么在R.实施
我现在的想法是:
使用户确保他们有一个有效的连接,他们调用任何函数之前。 每个函数然后有
connection
作为必须被传递的参数。 这使得一个麻烦使用者。在每一个功能,请调用
get.connection()
这将每次获得新的连接。 那么旧的连接被允许自然超时,这似乎是一个草率的做法。如上所述,但每次返回相同的连接。 这似乎不是一个可行的建议,因为我无法阻止通过R.超时连接
autoReconnect=TRUE
,我已经在不同语言中使用其他的技巧似乎没有任何效果。
在Java中,我可能会填充了一系列连接的DatabaseConnectionPool,只是抓住从连接,并根据需要他们,游泳池返回。 我也似乎没有在Java中的超时问题,当我指定autoReconnect=TRUE
。
任何建议非常赞赏。