(Acest articol a fost publicat pentru prima dată pe Guillaume Pressiatși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Într-o postare destul de veche de pe acest blog, am scris despre o conexiune la baza de date Oracle de la R pe Windows cu ODBC atunci când aveți clienți Oracle vechi (versiunea de 32 de biți) instalați într-o configurație de întreprindere.
Încă funcționează pe R 32 bit. Dar acum noile versiuni R sunt livrate doar în versiunea pe 64 de biți. Este greu să stai cu un R 4.1 (ultimii 32 de biți) când suntem acum la R 4.5…
Într-o astfel de situație, există alternative?
O alternativă cu JDBC
Java în salvare?
Cu clienții JDBC și fișierele jar, DBeaver se poate conecta la toate tipurile de baze de date, așa că și R ar trebui să poată face acest lucru, atât în 32b sau 64b, cât și pe cele mai recente versiuni numai cu drivere JDBC?
Da, funcționează și el, vezi pachetul DatabaseConnector de la OHDSI.
Postez aici un exemplu de utilizare.
Sys.setenv("DATABASECONNECTOR_JAR_FOLDER" = "~/drivers_dbeaver/oracle")
library(DatabaseConnector)
library(dplyr)
library(dbplyr)
conn <- connect(
createConnectionDetails(
dbms="oracle",
connectionString = "jdbc:oracle:thin:@db-server.fr:1521/APPNAME",
user = "resu",
password = "drowssap"
)
)
# SQL
querySql(conn,"SELECT COUNT(*) FROM appname.table_a")
# dplyr / dbplyr
tbl(conn, in_schema('APPNAME', 'TABLE_A')) %>% count()
disconnect(conn)
Acest pachet pare foarte interesant și nu se limitează la suportul Windows și Oracle, vezi aici pentru mai multe informații: https://github.com/OHDSI/DatabaseConnector/
