从SQL Server运行PostgreSQL存储过程

时间:2016-01-21 21:10:34

标签: sql-server database postgresql stored-procedures database-connection

我在SQL Server中有一个数据库,它包含一天内收集的数据,以及PostgreSQL中包含OSM数据的数据库。我需要修改收集的数据,以便为我的用户创建报告。

现在,我想象某种方式从SQL Server调用PostgreSQL过程,将收集的数据传递给PostgreSQL,对该数据执行某些操作,并将另一个结果集返回给SQL Server以创建报告。

什么是最有效率的'实现这个目标的方法?或者,更好的问题atm,实现此功能的方法是什么?

我的想法是将SQL Server和PostgreSQL与PostgreSQL ODBC驱动程序连接,然后将数据从SQL Server复制到PostgreSQL表,在PostgreSQL上运行该存储过程,并将数据返回到SQL Server结果表。但是,这不是预定的任务。要传输到PostgreSQL的数据包含大约2-3百万行的纬度,经度和方位,分析它们的功能需要每个记录一个,而不是一次全部。

1 个答案:

答案 0 :(得分:0)

我的方法是使用C#和npgsql连接到postgres。

我创建了一个应用:

  1. 每分钟检查一次SQL Server。
  2. 检查Postgres插入的最后一个ID。
  3. 使用新闻ID
  4. 从MSQL创建数据集
  5. 将新记录插入Postgres。
  6. 运行postgres商店程序以生成新数据
  7. 创建分离的webservice以使用postgres上生成的报告。