检查RODBC连接的连接(范围问题)

时间:2013-11-04 16:26:51

标签: r database

我正在尝试使用以下代码来检查我的RODBC连接是否已打开(如果不是,则打开/重新打开它)。

check.connect <- function(channel) {
  connected <- FALSE;
  while (!connected) {
    tryCatch( 
      { sqlQuery(channel, "SELECT * FROM deb.table LIMIT 1;");
        print('Success')
        connected <- TRUE },
      error=function(e) {
        print('Reconnecting');
        channel <- odbcConnect('SQLConn')
     })
   }
 }

这成为一个无限循环。打印sqlQuery行错误和'重新连接',直到我用ctrl + c中止。

我认为这是一个范围问题,但我不确定,也不知道如何解决它。此外,一旦我获得“成功”打印,我是否必须返回新频道,或者更改是否会反映在调用范围中的频道对象中。

0 个答案:

没有答案