You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R Studio中创建Oracle数据库并在R Markdown中使用Oracle SQL查询?

在R Studio中连接Oracle数据库并导入数据

注意:Oracle数据库一般是预先在服务器端创建完成的,R主要负责连接已有的Oracle实例并进行数据操作(创建Oracle数据库需要DBA权限,需通过Oracle官方工具完成)。以下是连接Oracle数据库并导入数据的实操步骤:

1. 前置准备

  • 安装对应版本的Oracle ODBC驱动(匹配你的Oracle数据库版本和系统位数)
  • 可提前通过系统的ODBC数据源管理器配置Oracle数据源,或直接在代码中指定驱动信息

2. 加载所需R包

library(DBI)
library(odbc)
library(tidyverse)

3. 连接Oracle数据库

方式一:使用预配置的ODBC数据源名称(DSN)

con <- dbConnect(
  drv = odbc::odbc(),
  dsn = "你的Oracle数据源名称",  # 提前在ODBC管理器中配置的DSN
  UID = "你的Oracle用户名",
  PWD = "你的Oracle密码"
)

方式二:直接指定驱动信息(无需预配置DSN)

con <- dbConnect(
  drv = odbc::odbc(),
  Driver = "Oracle in OraClient19Home1",  # 替换为你的Oracle驱动名称
  DBQ = "//主机IP:端口号/服务名",  # 示例://192.168.1.100:1521/ORCL
  UID = "你的Oracle用户名",
  PWD = "你的Oracle密码"
)

4. 将数据写入Oracle数据库

Oracle表名默认大写,若需保留原大小写需给表名加双引号:

# 写入actv_ts表
dbWriteTable(
  conn = con,
  name = "ACTV_TS",  # 若要保留小写表名:name = '"actv_ts"'
  value = actv_ts,
  overwrite = TRUE,  # 表已存在时覆盖,可选参数
  append = FALSE     # 是否追加数据,可选参数
)

# 写入SP_CURRENT表
dbWriteTable(
  conn = con,
  name = "SP_CURRENT",
  value = SP_CURRENT,
  overwrite = TRUE
)

5. 在R Markdown中执行Oracle SQL查询

方式一:使用sql代码块直接查询

```{sql, connection=con}
SELECT * FROM ACTV_TS FETCH FIRST 10 ROWS ONLY;
SELECT COUNT(*) FROM SP_CURRENT;
### 方式二:通过R代码执行查询
```r
query_result <- dbGetQuery(con, "SELECT * FROM ACTV_TS WHERE 条件")
head(query_result)

6. 关闭数据库连接

dbDisconnect(con)

内容的提问来源于stack exchange,提问作者Nick Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:15:07