Para crear a conexión a unha base de datos SQL Server dende R, debemos xerar un conector coa base de datos para posteriormente crear a conexión e poder levar a cabo as operacións:
1.- Descargamos os controladores que necesitemos. Deixo algúns exemplos:
- JTDS: http://jtds.sourceforge.net/
- Oracle: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html
- Microsoft: https://docs.microsoft.com/es-es/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15
- Amazon: https://docs.aws.amazon.com/emr/latest/ReleaseGuide/HiveJDBCDriver.html
2.- Descomprimir os controladores nun directorio, que no nos caso de vai denominar «drivers» e vase situar dentro do sistema Linux no directorio «/home/usuario». Neste caso o que se fixo foi descomprimir todos os controladores na mesma carpeta deixando só os arquivos «jar» todos xuntos
3.- Dentro de R, creamos unha conexión, para o cal debemos seguir os seguintes pasos para evitar problemas de clase en Java. Declaramos as variables que imos empregar:
dirdrivers <- 'drivers'
mssql_addr <- 'direccion_servidor_mssql'
mssql_port <- 'porto_servidor_mssql'
usuario <- 'usuario_con_permisos_sql'
clave <- 'clave_usuario_con_permisos_sql'
Para declarar o directorio cos drivers, recordar facelo coa ruta completa. Neste caso «/home/usuario/drivers». No caso dun sistema en Windows, a rura debe ser do tipo «C:/Users/Documents/drivers» por exemplo. Finalmente creamos o conector para a nosa base de datos en Microsoft SQL Server, neste caso empregando a clase de jtds:jdbc:
conexion <- dbConnect(RJDBC::JDBC('net.sourceforge.jtds.jdbc.Driver', classPath = list.files(dirdrivers, pattern = "jar$", full.names = TRUE), identifier.quote="'"), paste0('jdbc:jtds:sqlserver://',mssql_addr,':',mssql_port), user = usuario, password = clave)
4.- Finalmente podemos levar a cabo as consulta á base de datos en SQL Server dende un script de R a través co controlador JTDS:
consulta <- 'SELECT * FROM taboa'
resultado <- dbGetQuery(conexion, consulta)