RODBC sqlQuery()在成功执行时返回错误消息

时间:2012-08-29 21:31:02

标签: r rodbc

这是一个时间敏感/紧急问题。我有一些R代码涉及使用RODBC包的许多SQL查询。这段代码每天早上在专用的Linux服务器上运行 - 它会下载一些数据,执行一些统计,然后将数据插回到MSSQL DB中。

今天,我们的sysarch已升级到Ubuntu 12.04.1,从那时起,我遇到了一堆ODBC问题。在做了一些更改之后,我们得到了它以便建立ODBC连接,但现在有一个更大的问题。基本上,每次执行CREATE或DROP命令时,我都会收到来自RODBC的错误消息,即使已创建/删除已标识的表。示例(bts.connectodbcConnect([connection information]))的结果:

> sqlQuery(bts.connect, "SELECT OBJECT_ID('tempdb.dbo.#tempscores')")
1 1050250967

所以#tempscores表存在

> sqlQuery(bts.connect, "DROP TABLE #tempscores")
[1] "[RODBC] ERROR: Could not SQLExecDirect 'DROP TABLE #tempscores'"

即使它存在,我们也“不能”放弃它

> sqlQuery(bts.connect, "SELECT OBJECT_ID('tempdb.dbo.#tempscores')")
1 NA

但我们放弃了它。

> sqlQuery(bts.connect, "CREATE TABLE #tempscores (dummy int)")
[1] "[RODBC] ERROR: Could not SQLExecDirect 'CREATE TABLE #tempscores (dummy int)'"

我们也无法创建它,但它存在,我们可以从它中选择:

  

sqlQuery(bts.connect,“SELECT OBJECT_ID('tempdb.dbo。#tempscores')”)      1 1066251024   sqlQuery(bts.connect,“SELECT * FROM #tescscores”)       [1]假       < 0行> (或0长度的row.names)

我很有智慧,我真的需要这个明天早上为客户成功运行。有人知道可能导致这种奇怪行为的原因吗?

0 个答案:

没有答案