none
Como hago para conectarme a una base de datos sql remota dese sql machine learning? RRS feed

  • Pregunta

  • Hola a todos.

    Instale SQL Machine Learning 2019 (R, PYTHON) con servicios de bases de datos (no stand alone) y estoy migrando scripts desde R-Server instalado en Linux hacia esta nueva instalación. Estoy teniendo problemas con las conexiones desde R 
    Lste es el Script de conexión:

    *library(RJDBC)
                  library(tidyverse)
                  library(AjoveR)
                  library(lubridate)
                  library(glue)
                  library(bizdays)
                  library(dplyr)
                  library(mailR)
                        user<-"Ruser"
                        server<-"remote_server"
                        database<-"remote_database"
                        domain <- ""
                        password <- "remote_password"
                          if(user != "remote_user"){
                               domain <- glue::glue(";domain=DOMAIN")
                               user <- stringr::str_to_lower(user)
                               password <- rstudioapi::askForPassword(glue::glue("Enter password for DOMAIN\\{user}"))
                          }
                          
                          print("entre a AJdbConnect")
                          print(glue::glue("User {user} successfully connected to database {database} in server {server}"))
                          drv <- RJDBC::JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver", "C:/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/R_SERVICES/fte_ajover/jar/mssql-jdbc-8.4.0.jre8.jar", identifier.quote="`") 
                          print("Cargo driver")
      
                          
                          stringConexion <- glue::glue("jdbc:sqlserver://{server}:1433;databaseName={database};user={user};password={password}")*

    Luego de ejecutar el script a través de sp_execute_external_script, via SSMS, me sale este mensaje:

        *Msg 39019, Level 16, State 2, Line 0
        An external script error occurred: 
        Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1],  : 
          com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host remote_server, port 1433 has failed. Error: "Permission denied: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
        Calls: source ... <Anonymous> -> <Anonymous> -> .local -> .jcall -> .jcheck*

    Que he revisado:
     1. Conexiones entre servers: OK
     2.  Revision de Firewall, permisos, puertos: OK
     3. revisión de usuarios : OK
     4. revisión de conexiones: ok

    Cree una base de datos local con el mismo nombre de la base de datos remota a la cual quier establecer la conexión y luego en el script de R hice el cambio de remote_server por localhost y ahi si fucniona sin problemas

    Puede por favor alguien indicarme que estoy haciendo mal? como hago para conectarme a una base de datos sql remota desde un SQL machine Learning?

    Gracias por toda la ayuda que me puedan brindar


    If the answer was helpful, please mark it as useful. Si la respuesta le ayudó, por favor márquela como útil.

    viernes, 28 de agosto de 2020 14:49