【发布时间】:2022-01-07 02:00:47
【问题描述】:
当我尝试从 Azure VM 中的 SQL Server 加载表时出现以下错误。我知道连接是成功的,但我无法让我的语法对于我想要加载到 R 环境中的表正确。
错误:nanodbc/nanodbc.cpp:1655: 42000: [Microsoft][ODBC SQL Server Driver][SQL Server]无效的对象名称“Harris_11292021.dbo.Applicant”。 [Microsoft][ODBC SQL Server Driver][SQL Server]无法准备语句。
'选择 *
FROM "Harris_11292021"."dbo.Applicant" AS "q14"
哪里(0 = 1)'
我正在尝试加载表格Applicant。问题是连接到applied_systems 并且在您到达表之前还有一个低于该级别的数据库和架构级别?
我尝试使用 in_schema 命令来解决这个问题,但我认为我执行错了。
library(odbc)
library(tidyverse)
# Data connection to database --------------------------------------
con_applied <- dbConnect(odbc::odbc(), "applied_systems", timeout = 10)
# Load table -------------------------------------------------------------
policy_master <- tbl(con_applied, in_schema("Harris_11292021", "dbo.Applicant"))
这是连接截图:
感谢您的帮助。
【问题讨论】:
-
Harris_1129021是数据库,dbo是架构,Applicant是表名。数据库通常在连接字符串或 DSN 中指定。所以应该是in_schema("dbo", "Applicant")。但是dbo是一种默认模式,所以你不需要指定它。 -
谢谢大卫。那么我是否将 Harris_1129021 数据库名称放在 dbConnect 命令中?我试过了,但没有用。
标签: r sql-server odbc dbplyr