【问题标题】:How to access Postgres data from SQL Server (linked servers)如何从 SQL Server(链接服务器)访问 Postgres 数据
【发布时间】:2010-09-07 09:38:08
【问题描述】:

我有以下情况:

DB Server 1 是 Sql Server 2008 并托管带有事务记录的数据库 A DB Server 2 是 Postgres 并托管数据库 B,其中包含价格记录

Server2 作为链接服务器添加到 server1。

我需要运行一个查询,对于 server1 上的每条交易记录,我需要检查来自 server2 的多个价格。

理想情况下它看起来像这样(在 server1 上运行):

选择 t1.clientid, t1.item, t1.price, t1.time, server2.databaseX.myfunction(t1.item, t1.time) 从交易 t1 到任何地方

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

有没有一种方便的方法可以在这两个服务器上运行这种查询?

我无法将相关数据从 server2 导出到 server1,因为它的数量很大。我可以反过来做,但是我必须将所有内容都返回给 server1。如果每次用户从报告服务器(在服务器 1 上运行)请求它时都需要运行它,这实际上将如何完成?

谢谢。

【问题讨论】:

标签: sql-server postgresql linked-server


【解决方案1】:

OPENQUERY 绝对是一种方法;您在使用动态 SQL 时遇到了什么问题?

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-09
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 2021-02-25
      • 2010-12-04
      相关资源
      最近更新 更多