Hola a todos, hoy vamos a hablaros sobre como importar registros desde SQL Server a RStudio. Para ello, haremos uso del paquete RODBC. Como índica su nombre, funciona por medio de ODBC, por lo que primero deberemos configurarlo. Empecemos.

¿Qué necesitamos para importar registros desde SQL Server a RStudio?
Antes de comenzar, debemos tener los siguientes componentes instalados:
- Lenguaje de programación R instalado (requisito para instalar RStudio)
- RStudio
- Datos de conexión con SQL Server
Una vez instalado todo, ya podemos empezar a configurar nuestra conexión ODBC, que hará de intermediario entre R y SQL Server.
Configuración de ODBC
En primer lugar, deberemos establecer la conexión ODBC (de 64 bits) con nuestra base de datos. En nuestro caso usaremos SQL Server 2019 con la base de datos de prueba AdventureWorks. Tendremos que seleccionar «SQL Sever Native Client 11.0».


Una vez rellenados los datos de conexión que nos va pidiendo en pantallas posteriores. Aparecerá un botón para testear la conexión. Si aparece lo siguiente, se habrá realizado correctamente y se podrá dar a Finalizar.

Instalación y configuración de RODBC
Una vez configurada la conexión ODBC, deberemos ir a RStudio para instalar «RODBC». Un paquete, que nos permitirá ejecutar sentencias SQL Server desde R. Esto se hará mediante la conexión ODBC que acabamos de crear.
Una vez dentro de RStudio ejecutamos lo siguiente para instalar el paquete:
install.packages("RODBC")
Y posteriormente lo activaremos con el siguiente comando:
library(RODBC)

Importar registros SQL Server con RODBC
Tras esto ya podremos realizar consultas SQL Server usando RStudio. Por ejemplo:
require(RODBC) #open the ODBC connection ch <- odbcConnect("origen_odbc") ##### Alternative ODBC connection for Microsoft SQL Server ch <- odbcDriverConnect( "driver={SQL Server};server=localhost\\SQL2019;database=AdventureWorks2019;trusted_connection=true" ) #run the query, store in a data frame sqlResult <- sqlQuery(ch, "SELECT * FROM [AdventureWorks2019].[dbo].[AWBuildVersion];") #close the ODBC connection odbcClose(ch)
Esperemos que os sea de utilidad esta entrada. No dudes en suscribirte a nuestra newsletter mensual si quieres estar al día de todas nuestras publicaciones del mundo de las bases de datos y más. Con un solo email al mes estarás informado.
Nos vemos en próximas entradas.
Fuentes:
https://hablamosr.blogspot.com/2020/10/rodbc-importar-registros-sqlserver.html
https://gist.github.com/tgh0831/6379253fd6d82671005127a843456aaa
https://stackoverflow.com/questions/5720508/sql-server-rodbc-connection