我正在尝试创建一个惰性表,以便dplyr
在 Ubuntu 上使用 Shiny Server 中的 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中执行成功。池对象也已成功连接,因为来自闪亮的已执行查询显示在日志中。
我还检查了 odbc.ini 和 odbcinst.ini 中的连接信息是否正确。
使用带有 FreeTDS 驱动程序的 dplyr 来处理 SQL Server 是否存在已知问题?