none
Conexión a Base de datos Postgress que está en AZURE desde SQL Management studio RRS feed

  • Pregunta

  • Hola, me quiero conectar a una base de datos (POSTGRESS) que está montada en AZURE

    desde mi cliente 

    de sql management studio, no he podido hacerlo, alguien me puede ayudar pls?

    Baje e instalé el ODBC driver que microsoft recomienda en:

    https://www.postgresql.org/ftp/odbc/versions/msi/

    Cuando intento realizar una conexión desde ODBC dns o cualquier otro cliente como el mismo de pgAdmin4 me arroja el siguiente error:

    Cannot initialize the data source object of OLE DB provider "PGNP" for linked server "SQLAuth_PG".
    OLE DB provider "PGNP" for linked server "SQLAuth_PG" returned message "Cannot open DB connection.".
    OLE DB provider "PGNP" for linked server "SQLAuth_PG" returned message "could not translate host name "https://pgadmin.xxx.org.mx/" to address: Unknown host
    ". (Microsoft SQL Server, Error: 7303)

    El nombre que tengo como servidor es in link:  https://pgadmin.xxx.org.mx/ porque desde un navegador si puedo entrar

    Bajé mil scripts para vincular el servidor y no jalan, arrojan el mismo error:

    -- Change parameter for provider Allow In Procees = true / DynamicParameters = true
    EXEC MASTER.dbo.sp_MSset_oledb_prop N'PGNP'  ,N'AllowInProcess',1
    GO
    EXEC MASTER.dbo.sp_MSset_oledb_prop N'PGNP'  ,N'DynamicParameters',1
    GO
    DECLARE @name NVARCHAR(4000);
    DECLARE @provider NVARCHAR(4000);
    DECLARE @servername NVARCHAR(4000);
    DECLARE @port NVARCHAR(4000);
    DECLARE @db_name NVARCHAR(4000)
    -- destination postgres database
    SET @name = N'SQLAuth_PG';
    SET @provider = N'PGNP';
    SET @servername = N'https://pgadmin.xxx.org.mx/';
    SET @port = 'PORT=5432;'
    SET @db_name = N'sqlauthority';
    -- create linked server
    EXEC MASTER.dbo.sp_addlinkedserver @server = @name
    ,@srvproduct = N'PGNP'
    ,@provider = N'PGNP'
    ,@datasrc = @servername
    ,@provstr = @port
    ,@catalog = @db_name
    -- username and password for postgres
    EXEC MASTER.dbo.sp_addlinkedsrvlogin @rmtsrvname = @name
    ,@useself = N'False'
    ,@locallogin = NULL
    ,@rmtuser = N'usuario'
    ,@rmtpassword = '***'
    -- set up Extended properties of the Linked Server
    EXEC MASTER.dbo.sp_serveroption @server = @name
    ,@optname = 'data access'
    ,@optvalue = 'true'
    EXEC MASTER.dbo.sp_serveroption @server = @name
    ,@optname = 'use remote collation'
    ,@optvalue = 'true'
    EXEC MASTER.dbo.sp_serveroption @server = @name
    ,@optname = 'rpc'
    ,@optvalue = 'true'
    EXEC MASTER.dbo.sp_serveroption @server = @name
    ,@optname = 'rpc out'
    ,@optvalue = 'true'
    GO
    

    Ojalá puedan ayudarme.

    Tengo Windows 10 64 bits

    SQL SERVER 2014 Enterprise edition 64 bits

    Management Studio v17.4


    saludos

    viernes, 2 de febrero de 2018 15:57

Respuestas

  • Ojo, el texto que estas mostrando, "https://pgadmin.xxx.org.mx/" NO es un nombre de host válido. El nombre de host es solo "pgadmin.xxx.org.mx".

    Aparte de eso, asegúrate de que has abierto el puerto o puertos que use tu base de datos (no sé qué puertos requiere Progress) tanto en el cortafuegos de la máquina virtual en la que está instalado el servidor como en el cortafuegos de Azure (desde el panel de control de Azure). El hecho de que conectes desde un navegador no significa que ya estén abiertos, porque el navegador usa puertos distintos.

    viernes, 2 de febrero de 2018 17:39