-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOracleConnection.R
34 lines (25 loc) · 982 Bytes
/
OracleConnection.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Set JAVA_HOME, set max. memory, and load rJava library
Sys.setenv(JAVA_HOME='/usr/lib/jvm/jdk1.8.0_162')
options(java.parameters="-Xmx2g")
library(rJava)
# Output Java version
.jinit()
#print(.jcall("java/lang/System", "S", "getProperty", "java.version"))
# Load RJDBC library
library(RJDBC)
# Create connection driver and open connection
jdbcDriver <- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="/home/thomas/.m2/repository/com/oracle/ojdbc14/10.2.0.3.0/ojdbc14-10.2.0.3.0.jar")
# Query on the Oracle instance name.
#instanceName <- dbGetQuery(jdbcConnection, "select * from SELECT_EML")
#print(instanceName["IND_PUBLIC"])
rows = function(tab) lapply(
seq_len(nrow(tab)),
function(i) unclass(tab[i,,drop=F])
)
oraresults = function(query) {
jdbcConnection <- dbConnect(jdbcDriver, oraString, oraUser, oraPassword)
instanceName <- dbGetQuery(jdbcConnection, query)
dbDisconnect(jdbcConnection)
df <- data.frame(instanceName)
return(rows(df))
}