Importar registros desde SQL Server a RStudio

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.

importar registros sql server con odbc

¿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».

Importar registros SQL Server con RODBC

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

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