2016-07-14 4 views
1

select * from openquery (oracle, 'select * from tablename1') --- это работает на сервере SQLПодключение к связанному серверу в R

Я использовал RODBC пакет

fd1 <- sqlQuery(dbhandle, 'select * 
      FROM t1') -- This works 
fd2 <- sqlQuery(dbhandle, 'select * 
      FROM openquery (Oracle, "select * from tablname1 where id is null")') 

--- Это работает. Но когда я называю объект fd2, я получаю следующее -

[1] "42000 102 [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'select * from tablename1 where id is null'."

[2] "[RODBC] ERROR: Could not SQLExecDirect 'select * from openquery (oracle, \"select * from tablename1 where id is null\")'"

, как это исправить?

ответ

0

fd2 использует двойные кавычки вокруг встроенного SQL-запроса. T-SQL требует одинарных кавычек. Вместо этого:

fd2 <- sqlQuery(dbhandle, 
    'select * FROM openquery (Oracle, \'select * from tablname1 where id is null\')') 
+0

Большое вам спасибо! – NM24

+0

Пожалуйста, отметьте ответ как принято. Спасибо за использование переполнения стека! – patrickmdnet