1

我在SQL Server中有一个数据库,其中包含一天内收集到的数据以及PostgreSQL中的数据库和OSM数据。我需要修改收集的数据以便为我的用户创建报告。从SQL Server运行PostgreSQL存储过程

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

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

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

+0

我也想知道。但目前我使用Proxy .net应用程序将数据从一个移动到另一个。所以不确定是否存在直接的方式,希望今天学到新东西。顺便说一句类似的应用程序,我有来自MSQL的数据,并传递给Postgress来绘制地图。 –

+0

我只找到这一个。也许帮助http://social.technet.microsoft.com/wiki/contents/articles/18571.how-to-transfer-records-from-sql-server-to-postgres.aspx –

回答

0

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

我创建一个应用程序:

  1. 检查SQL Server的每分钟。
  2. 检查Postgres是否插入了最后一个ID。
  3. 使用新闻标识从MSQL创建数据集
  4. 将新记录插入到Postgres中。
  5. 运行postgres存储过程以生成新数据
  6. 创建单独的webservice以使用在postgres上生成的报告。
+0

我被困在第一步。因为我是MS BIDS和SSIS的新手,你甚至可以将表从SQL Server转移到PostgreSQL?你能彻底好吗? – Aleksandar