【发布时间】:2018-07-25 12:20:49
【问题描述】:
我正在尝试创建一个惰性表,以便在 Ubuntu 上的 Shiny Server 中使用 dplyr sql 后端,使用 tbl 会引发语法错误。
library(dbplyr)
library(dplyr)
library(pool)
library(DBI)
pool <- dbPool(odbc::odbc(),
driver = "FreeTDS",
server = "server",
database = "database",
uid = "uid",
pwd = "password",
port = 1433)
data <- tbl(pool, in_schema("schema.dbo", "table"))
Error: <SQL> 'SELECT *
FROM schema.dbo.table AS "zzz1"
WHERE (0 = 1)'
nanodbc/nanodbc.cpp:1587: 42000: [FreeTDS][SQL Server]Incorrect syntax near 'zzz1'.
代码在Windows环境下运行无误,生成的SQL语句在SQL中执行成功。当来自shiny的执行查询出现在日志中时,池对象也已成功连接。
我还检查了 odbc.ini 和 odbcinst.ini 中的连接信息是否正确。
在使用带有 FreeTDS 驱动程序的 dplyr 来处理 SQL Server 时是否存在已知问题?
【问题讨论】: