从PostgreSQL函数访问Microsoft SQL Server上的数据

时间:2013-01-22 15:03:33

标签: sql-server postgresql plpgsql cross-database plperl

我有一个使用PostgreSQL的应用程序,但也与MSSQL上的第三方控制的数据库交互。这些数据有时会紧密地联系在一起,以至于需要做以下事情:

select thing_from_pg, thing_from_ms_crossover_function(thing_from_pg) -- etc

目前我在plperl中实现了thing_from_ms_crossover_function。有没有办法在plpgsql中执行此操作,以便我不需要为这种情况启动plperl解释器?

另一个选择显然是从我的客户端应用程序访问这两个数据库,但这远比上面的视图语法方便。

1 个答案:

答案 0 :(得分:1)

你有两个基本选择,而不是三个基本选项。

第一种是使用DBI-Link,然后通过pl / pgsql或pl / perl函数访问它。 DBI-Link的好处在于它相对较老且成熟。如果它适合你,我会从那里开始。

第二个选项是使用外部数据包装器。

第三个选项是编写一个更通用的框架,例如pl/perl,您可以从pl/pgsql调用。但是在那时你基本上都在考虑重新发明DBI-Link,所以我认为你最好从DBI-Link开始并根据需要进行修改。