2014-12-03 60 views
0

我有几个大型SQL查询需要针对Postgres数据源运行。我在SQL Server 2008 R2上使用SSIS来移动数据。由于系统设置的方式,我必须通过PuTTY使用隧道并设置本地端口重定向。通过SSIS将数据从Postgres移动到SQL Server

在SSIS包中,我使用ADO.NET源和目标。我安装了PostgreSQL驱动程序,并且我们能够使32位版本工作。我的软件包正在运行,我正在获取数据,但数据转换任务的运行速度非常慢,每秒大约有2000条记录。

有没有人有经验使用静态查询Postgres旅行并将结果转储到SQL Server?任何提示/最佳实践?

+1

对不起,我还没有一个完整的答案。 从我的经验来看,这个速度可能是SSH隧道的结果。 只需检查postgresql或SQL Server是否承受压力,或者是机器上的磁盘。我建议看看由putty和ssh服务器使用的CPU。 现在只需收集这些信息并编辑帖子。最佳做法:取决于查询。如果您只需传输数据,我建议将其转储到平面文件中并批量导入。 – 2014-12-03 11:36:52

回答

0

您应该尝试获取数据并将其存储在ssis原始文件中。 然后在原始文件数据上进行转换以及任何你喜欢的东西。 之后,将其发送回数据库。

一般尽量不要有太多的调用数据库。

+0

你的意思是有postgres转出一个平面文件? – 2015-02-26 01:00:03

+0

不,我的意思是你将有一个“OLE DB Source”从Postgre获取数据,然后是一个“Raw File Destination”来存储本地数据。 – dimis164 2015-02-27 09:54:27

+0

我得到“源有ntext”字段...将通过他们通过数据转换任务慢下来? – 2015-02-27 20:43:34

相关问题