【发布时间】:2020-08-17 14:36:44
【问题描述】:
我正在尝试建立从 R 到 Oracle 的连接,但在这样做时遇到了问题。
这是我在 DBI 和 odbc 包中使用的连接脚本:
library(DBI)
library(odbc)
con <- DBI::dbConnect(odbc::odbc(),
Driver = "Oracle in OraClient11g_home1",
Server = "orasade06.hc-sc.gc.ca",
SID = "sdv11040",
Schema = "STG",
Username = "username",
Password = "pw",
Port = 1521)
我能够通过 Oracle SQL Developer 成功连接以查看我的数据库和架构。
我已经在我的机器上安装了 Oracle ODBC 驱动程序(OraClient11g_home1 中的 Oracle),但是我无法从“R”成功连接。
这是我得到的错误:
Error: nanodbc/nanodbc.cpp:983: IM002: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
我们将不胜感激任何帮助和指导。
谢谢。
【问题讨论】:
-
Oracle 还是 SQL Server?这是两个不同的关系数据库。不要混合使用 ODBC 驱动程序。
-
我建议使用 ROracle 软件包。
-
@Parfait 抱歉,我在问题中更新了连接脚本。我从另一个脚本中得到了错误的驱动程序。这是我现在遇到的错误:错误:nanodbc/nanodbc.cpp:983: IM002: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
-
@SmokeyShakers 我很想安装,但我无法安装基于 Java 的 R 包,因为它在我的组织中被阻止。错误:“rJava”的包或命名空间加载失败:“rJava”的 loadNamespace() 中的 .onLoad 失败,详细信息:调用:fun(libname, pkgname) 错误:无法从注册表中确定 JAVA_HOME
-
@r2evans 没有与 odbc::odbcListDrivers() 一起列出的 Oracle 驱动程序。我需要在我的机器上安装 Oracle 驱动程序吗?