В R (и с использованием ROracle), как мне успешно получить данные из моей базы данных? - PullRequest
1 голос
/ 25 сентября 2019

В R (и с использованием ROracle) как мне успешно получить данные из моей базы данных?Похоже, что все работает, но он не предоставляет мне мою таблицу из моей базы данных.

У меня есть следующий код:


#set path to oracle client info
Sys.setenv(OCI_LIB64="C:-------\\instantclient_19_3")

#set path to oracle product(original) info
Sys.setenv(OCI_INC="C:------11.2.0\\client_3\\oci\\include")

#self-explanatory
install.packages('ROracle')

#Add any requiredlibraries:
   install.packages("tidyverse")
   install.packages("dplyr")
   install.packages("ROracle")
---

######################   LOAD THE LIBRARIES    ############################       
#This first block loads the libraries and deletes objects from the work. Instructions for installing the ROracle library can be found at http://cran.us.r-project.org/web/packages/ROracle/INSTALL.
library(tidyverse)
library(ROracle)
library(dplyr)


######################   CLEAR THE WORKSPACE  ############################   
# Clear the workspace
rm(list=ls())

######################   SET THE WORKING DIRECTORY ############################      

setwd("G:\----\2017_Annual_Averages_R")


######################   READ DATA IN FROM ORACLE   ############################
# Set this switch to true to read the data from the DB
READ_FROM_DB = TRUE

if (READ_FROM_DB)
{
  USER_NAME <- "WATER" ###Add your username
  PASSWORD <- "AQUA" ###Add your password
  # Create the connection string
  host <- "-------.gov"
  port <- ----
  sid <- "-----"
  connect.string <- paste(
    "(DESCRIPTION=",
    "(ADDRESS=(PROTOCOL=tcp)(HOST=",
    host,
    ")(PORT=",
    port,
    "))",
   "(CONNECT_DATA=(SID=",
    sid,
    ")))",
    sep = ""
  )
}

  # Load the driver
  drv <- dbDriver("Oracle")

  # Create the connection
  con <-  dbConnect(drv, USER_NAME, PASSWORD, dbname = connect.string)


  # Read the table
 rs <- dbSendQuery(con, "SELECT * FROM
WQ_VTSSS
WHERE site_id = 'PAIN'
")

Когда я запускаю все это, он говорит, что у меня естьdata, rs, но он говорит, что это формальный класс OraResult и выглядит так:

Screenshot of data

Где я ошибся?

1 Ответ

0 голосов
/ 25 сентября 2019

Оказывается, я забыл важный шаг для извлечения строк из набора результатов (этого не было в полученных мной инструкциях, но было в установочном файле ROracle.pdf)

Вот этот шаг, который я пропустил:


  ## We now fetch records from the resultSet into a data.frame.
data <- fetch(rs) ## extract all rows
dim(data)

...