2013-06-20 22 views
4

我已经收到警告消息:关闭不使用的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` 

在功能上,一切就检出作为返回值,打印报表。 我有一个想法,这绝对是一个警告,因为这一功能:

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

但是以另一种程序访问一个单独的数据库。这个函数返回一个dateTime值的数据框,并在下一列以不同的数值表示小时。

如果有人能给我一个关于它为什么关闭数据库以及发生了什么的想法,我将不胜感激。

回答

10

这是因为该功能包含odbcConnect(...)而不是odbcClose(...),正如乔兰所说。由于在该函数内创建了odbcConnect对象,因此下次有垃圾回收时(?gc),它将被挂起删除。有时会在你调用这个函数时发生,有时会发生在稍后。

当一个odbcConnect对象被gc()删除时,它将关闭数据库连接并显示一条消息。完全不用担心。