Eu tenho um banco de dados postgres vinculado ao SQL Server. Descobri que você pode usar o OpenQuery para consultar postgres do lado do Sql Server, mas uma ressalva que encontrei é que, ao criar exibições, todos os campos são convertidos em char, apesar do tipo de dados real do postgres. Por exemplo, se você olhar minha consulta abaixo, userid
é um int e userlogindate & userlastlogindate
são campos de data no postgres, mas quando a exibição é criada no Sql Server, se eu expandir o sinal de mais ao lado da exibição e expandir o sinal de mais ao lado das colunas, todos as colunas estão listadas como char ()?
O que eu preciso fazer para que a visão do Sql Server mantenha o mesmo tipo de campo que o postgres os configurou? Transmitir/converter cada um?
SELECT *
FROM OPENQUERY(LinkedServer,
'Select
userid As "userid"
,userlogin As "userlogin"
,userlogindate As "userlogindate"
,userlastlogindate As "Lastlogindate"
From syscatalog')
Eu encontrei a solução para isso. Abaixo está como eu consegui isso: