es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conecta SQL Server con RStudio y accede a los datos en el entorno.

Tengo una conexión a un servidor de MySQL de esta manera:

mydb <- DBI::dbConnect(
  drv = MySQL(),
  host = "host",
  port = 1111,
  user = "user_1",
  password = "password",
  dbname = "database_name"
)

y luego hago consultas a esa tabla de datos utilizando este código.

query1 <- fetch(dbSendQuery(mydb, "select * from table_1"), n = Inf)

por lo tanto, el resultado es que tengo una tabla de consulta1 en el entorno de R.

Ahora tengo otras bases de datos en SQL Server, así que estoy tratando de hacer lo mismo. Estoy estableciendo la conexión de esta manera:

con <- dbConnect(odbc(),
                 Driver = "SQL Server",
                 Server = "server",
                 Database = "database_2",
                 UID = "user_2",
                 PWD = "password",
                 Port = 2222)

y parece que funciona porque en la pestaña de Conexión aparece la base de datos, pero cuando navego e intento ver los datos se produce un error. Además de esto, estoy buscando funciones que hagan lo mismo que las anteriores (fetch con dbSendQuery), de esta manera los data frames estarán disponibles en el entorno.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para consultar datos de una base de datos SQL Server en R utilizando el paquete odbc, puede establecer una conexión utilizando la función dbConnect y luego utilizar la función dbGetQuery para ejecutar una consulta SQL y recuperar los resultados como un data frame. Aquí tienes un ejemplo:

    library(odbc)
    
    con <- dbConnect(odbc(),
                     Driver = "SQL Server",
                     Server = "servidor",
                     Database = "database_2",
                     UID = "usuario_2",
                     PWD = "contraseña",
                     Port = 2222)
    
    query2 <- dbGetQuery(con, "SELECT * FROM tabla_2")
    

    En este ejemplo, establecemos una conexión a una base de datos SQL Server llamada database_2 en un servidor llamado servidor, utilizando el nombre de usuario usuario_2 y la contraseña contraseña. Luego ejecutamos una consulta SQL que selecciona todas las columnas de una tabla llamada tabla_2, y almacenamos los resultados en un data frame llamado query2.

    Ten en cuenta que el paquete odbc proporciona una interfaz más consistente para conectar con múltiples tipos de bases de datos, pero es posible que necesites instalar controladores adicionales o archivos de configuración para cada tipo de base de datos con la que desees conectarte.

    Con estas funciones, ahora puedes extraer datos de tu base de datos SQL Server y trabajar con ellos en R.

Comments are closed.