Sql server 如何从SQL Server(链接服务器)访问Postgres数据

Sql server 如何从SQL Server(链接服务器)访问Postgres数据,sql-server,postgresql,linked-server,Sql Server,Postgresql,Linked Server,我有以下情况: DB Server 1是Sql Server 2008,托管有带有事务记录的数据库A 数据库服务器2是Postgres,托管数据库B和价格记录 服务器2作为链接服务器添加到服务器1 我需要运行一个查询,其中对于server1上的每个事务记录,我需要检查server2中的一些价格 理想情况下,它应该是这样的(在server1上运行): 选择t1.clientid、t1.item、t1.price、t1.time、server2.databaseX.myfunction(t1.ite

我有以下情况:

DB Server 1是Sql Server 2008,托管有带有事务记录的数据库A 数据库服务器2是Postgres,托管数据库B和价格记录

服务器2作为链接服务器添加到服务器1

我需要运行一个查询,其中对于server1上的每个事务记录,我需要检查server2中的一些价格

理想情况下,它应该是这样的(在server1上运行):

选择t1.clientid、t1.item、t1.price、t1.time、server2.databaseX.myfunction(t1.item、t1.time) 从交易t1开始,不管在哪里

我曾尝试过openquery,但在尝试将参数嵌入动态sql时遇到了一些问题

有没有一种方便的方法可以跨这两台服务器运行这种查询

我无法将相关数据从server2导出到server1,因为数据量很大。我可以用另一种方法,但我必须将所有内容返回到server1。如果每次用户从报表服务器(在server1上运行)请求它时,它都需要运行,那么实际上如何做到这一点


谢谢。

我建议在客户端应用程序中连接到server2,然后在其中执行第二个查询。这将非常简单。

我建议在客户端应用程序中连接到server2,然后在其中执行第二个查询。这会更简单。

OPENQUERY绝对是一种方法;动态SQL有哪些问题


也许在服务器1中创建一个临时表,使用导入到该临时表中的PostgreSQL数据的过滤子集,然后在最终SQL查询中加入到临时表中。

OPENQUERY绝对是一种方法;动态SQL有哪些问题

也许在服务器1中创建一个临时表,使用导入到该临时表中的PostgreSQL数据的筛选子集,然后在最终SQL查询中加入到临时表中。

如何:如何: