我能够建立与Microsoft SQL Server的连接,也能够读取表。
pool <- pool::dbPool(drv=odbc::odbc(),
dsn="MYDSN",
uid = "MYUID",
pwd = "XXXXX")
con <- poolCheckout(pool)
WVDListFull <- tbl(con, in_schema('Midas',"WVDListFull")) %>% head() %>% collect()
但是,我无法将新记录追加到表中。假设我在名为x
的数据框中有新记录,我尝试了以下代码:
dbWriteTable(pool,'[Midas].[WVDListFull]', x, append=TRUE)
这给了我一个错误:
nanodbc/nanodbc.cpp:1587: 42000: [FreeTDS][SQL Server]CREATE TABLE permission denied in database 'ScorpioEDW'.
我确实对该数据库具有读写权限。我也尝试过:
dbWriteTable(con,DBI::SQL("Midas.WVDListFull"), x, append=TRUE)
哪个导致了另一个错误:
Error: Can't unquote Midas.WVDListFull
这里Midas
是包含表WVDListFull
的架构。有人可以告诉我这是怎么回事吗?