Как сделать межбазовый запрос от mssql к postgres?

Есть ли возможность в mssql сделать запрос к базе postgres? Если нельзя, то какие варианты есть вытягивать данные из бд postgres в бд mssql автоматически, без ручного способа экспорт/импорт.


Ответы (1 шт):

Автор решения: Vitaliy Zlobin

Создаёшь linked server, в примере он обозначен как POSTGRESQL и через OPENQUERY идёшь на него:

DECLARE @startDate DATETIME2 = SYSDATETIME()
DECLARE @endDate DATETIME2 = DATEADD(DAY, 1, @startDate)

DECLARE @cmd NVARCHAR(MAX) = 
N'
INSERT INTO DWH.Log.AppData
SELECT * 
FROM OPENQUERY (POSTGRESQL,''   SELECT *
                                FROM "Log"."AppData"
                                WHERE DateAppl > ''''' + FORMAT(@startDate, 'yyyy-MM-dd hh:mm:ss.fffffff') + '''''
                                    AND DateAppl <= ''''' + FORMAT(@endDate, 'yyyy-MM-dd hh:mm:ss.fffffff') + '''''
                                '')
'
        
EXEC(@cmd)
    
→ Ссылка