r - 使用 ODBC 的 R 到 Oracle 连接
问题描述
我正在尝试建立从 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
任何帮助和指导将不胜感激。
谢谢。
解决方案
我已经写了一个关于这个的教程,也许看看:
https://guillaumepressiat.github.io/blog/2019/11/oraclyr
一些关键点:
- 如果您的 Oracle 客户端是 32 位的,则使用 R 32 位是一个(或该)解决方案。否则 R 和 odbc 错误消息不是很清楚
- 在 RStudio 中查看 Oracle 客户端是否出现在连接窗格中
在 linux 上更容易,但 odbc 的字符串和参数有点不同。
最后,对于连接字符串,这个答案很有趣:如何使用 system.data.oracleclient 为 oracle 创建一个连接字符串,其中包括主机名、实例名称、用户 ID、密码?
推荐阅读
- python - 如何在 python 2.7 中使用烧瓶访问授权标头值?
- batch-file - 仅使用前七个字符按名称批量 Xcopy
- c# - 我想实现注册的远程验证,但不登录 ASP.NET,因为它不会让任何用户登录
- python - Discord.py 成员状态
- c# - Razor-Pages - 按日期搜索
- postgresql - Looker 中未显示物化视图?
- python - 如何使用 socket.gethostbyaddr 从 Python 中的 IPv6 地址获取主机名
- java - 如何从 Worker 获取输出数据?(MVVM + WorkManager + Room)
- office-js - 替换 office-js 加载项使用的 Outlook REST API
- git - Git restore 不断在两个同名但大小写相反的文件之间切换