关闭未使用的RODBC句柄

时间:2013-06-20 22:32:17

标签: r odbc warnings cran rodbc

我收到了一条警告信息:

`historicalHourly <- importHistoricalHourly(startDatePast,endDatePast,Markets,location)
[1] "Importing Hourly Data"
[1] "Flag - Moving from importHistoricalHourly to CleaningUpHourly"
[1] "Flag - Moving to importHistoricalDaily from CleaningUpHourly"Warning messages:

1: closing unused RODBC handle 41 
2: closing unused RODBC handle 40 
3: closing unused RODBC handle 36` 

在函数中,所有内容都会检查返回值print print语句。 我有一个想法,由于这个功能,它绝对是一个警告:

hHourly.df <- retrievelim(PowerCodeID,columns,startDatePast,endDatePast,unitstr="Hours")

正在访问另一个程序中的单独数据库。此函数返回日期时间值的数据帧,以小时为单位,在下一列

中使用不同的数值

如果有人能让我知道为什么关闭数据库以及发生了什么,我将不胜感激。

1 个答案:

答案 0 :(得分:13)

这是因为该函数包含odbcConnect(...)而不是odbcClose(...)正如joran所暗示的那样。由于odbcConnect对象是在函数内创建的,因此下次有垃圾收集时会挂起(?gc)。有时,当你调用函数时会发生这种情况,有时它会在稍后发生。

odbcConnect对象被gc()删除时,它会关闭数据库连接并显示一条消息。无需担心。