有关更多上下文,我尝试将此处给出的R数据库示例应用于我自己的表:
https://db.rstudio.com/(向下滚动到“快速示例”部分).@H_403_4@
它开始没问题.第一部分运行良好:@H_403_4@
install.packages("dplyr") install.packages("odbc") install.packages("dbplyr") install.packages("DBI") con <- DBI::dbConnect(odbc::odbc(),Driver = "sql Server",Server = [My Server Name],Database = "mydatabase",UID = [My User ID],PWD = [My Password],Port = 1433)
我能够连接到我的sql Server并加载到我的数据库中的表中.我知道这是因为@H_403_4@
DBI :: dbListTables(CON)@H_403_4@
当应用于我自己的一个表时,下一行示例代码也可以工作,返回表中列的名称.@H_403_4@
DBI :: dbListFields(con,“mytable1”)@H_403_4@
但是,一旦我尝试运行下一行:@H_403_4@
dplyr :: tbl(con,“mytable1”)@H_403_4@
我得到一个无效的对象名称’mytable1’错误,而不是示例中的预期表预览.@H_403_4@
当我在另一个表mytable2上运行相同的代码时,不会出现此错误.正如预期的那样,这次我在运行时获得了mytable2的预览:@H_403_4@
dplyr :: tbl(con,“mytable2”)@H_403_4@
mytable1和mytable2之间的一个区别是架构. mytable1使用一个伪造的“abc”模式,即mydatabase.abc.mytable1. mytable2使用默认的“dbo”架构,即mydatabase.dbo.mytable2.@H_403_4@
我尝试了dplyr :: tbl(con,“abc.mytable1”),但我得到了相同的无效对象名称错误.同样,当我尝试dplyr :: tbl(con,“dbo.mytable2”)时(虽然它在我排除dbo部分时运行正常).@H_403_4@