Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RODBC查询从Windows返回结果,但不从Linux返回结果_R_Rodbc_Rapache - Fatal编程技术网

RODBC查询从Windows返回结果,但不从Linux返回结果

RODBC查询从Windows返回结果,但不从Linux返回结果,r,rodbc,rapache,R,Rodbc,Rapache,我有一个R脚本,它从windows上的R studio的SQL查询中获取结果,但在linux上不是Rapache。我的两个连接字符串是: channel = odbcDriverConnect('Driver=FreeTDS;Server=server\\instance;Database=DB;Uid=name;Pwd=password') channel = odbcDriverConnect('Driver={SQL Server};Server=name\\instance;Databa

我有一个R脚本,它从windows上的R studio的SQL查询中获取结果,但在linux上不是Rapache。我的两个连接字符串是:

channel = odbcDriverConnect('Driver=FreeTDS;Server=server\\instance;Database=DB;Uid=name;Pwd=password')
channel = odbcDriverConnect('Driver={SQL Server};Server=name\\instance;Database=DB;Trusted_Connection=True;')
我构造了一些SQL并将其传递给此函数:

get_sql_data <- function(query,as.is=TRUE){
  return(sqlQuery(channel, query,as.is=as.is, errors=TRUE))
}
我得到以下信息:

2:In eval(expr、envir、enclose):head
3:评估中(expr、envir、enclose):
4:在eval(expr、envir、enclose)中:头尾


我做错了什么?我需要使用
sqlGetResults()
还是什么?

所以问题似乎是我在声明之前声明了变量,如下所示:

DECLARE @foobar CHAR(3) 'AAA';
SELECT TOP (5) id, name, desc FROM tbl WHERE code = @fooBar;
将其更改为:

SELECT TOP (5) id, name, desc FROM tbl WHERE code = 'AAA';

导致结果集显示在Linux和Windows中。我将调查到底为什么会发生这种情况。

我遇到了windows/linux在行为上的差异,并通过以下windows和linux版本之间的修改解决了这一问题:

在windows上:

dbhandle <- odbcDriverConnect(paste("driver={SQL Server};server=", ...
dbhandle <- odbcDriverConnect(paste("driver=SQLServer;server=", ...

dbhandle为什么有两个连接字符串?第二个只是覆盖了第一个。其中一个字符串是您在windows上使用的,另一个字符串是您在linux上使用的吗?@DavidMarxyes这是正确的。我在Linux上使用FreeTDS,在Windows上使用Microsoft驱动程序。
dbhandle <- odbcDriverConnect(paste("driver=SQLServer;server=", ...