2011-10-07 53 views
0

我建立一个SQL Server 2005 Integration Services包将数据从Sybase的Adaptive Server Enterprise 12.5.4数据库迁移到SQL Server 2005数据库。 Sybase数据库是我们团队无权更改或管理的供应商产品的后端。的Sybase ASE OLE DB连接的SQL Server集成服务2005

在我的发展初期,要访问Sybase数据库,我创建利用Microsoft OLE DB提供我的目标数据库服务器上的ODBC驱动程序在SQL Server链接服务器。在创建此链接服务器后,我使用单个数据源创建了我的SSIS包 - 连接到MS SQL Server“目标”数据库。接下来,在我的SSIS包数据流任务中,我将OLE DB Source配置为访问包中定义的单个数据源,使用SQL命令访问源链接服务器(只需使用SELECT col1,col2,col3 FROM [SybaseLinkedServer]。[数据库] .dbo。[表])。数据流任务中的OLE DB目标使用与OLE DB源相同的连接管理器,但使用表或视图 - 快速加载数据访问模式。

后来,在项目中,我获得了Sybase ASE的OLE DB提供程序(该v12.5.4 OLE DB提供程序不再可用,我们不得不购买v15.7 ASE SDK)。考虑到从解决方案中删除链接服务器会提高性能,我修改了SSIS包以包含一个使用Sybase ASE OLE DB提供程序直接访问Sybase数据库的新OLE DB数据源,并修改了OLE DB源以使用新的ASE OLE DB数据源与表或视图数据访问模式。

令我惊讶的是,切换使用的ODBC驱动程序使用Sybase ASE的OLEDB提供直接连接OLEDB OLEDB提供链接服务器的解决方案产生显著较差的结果,远离了我的预期。 The results from test runs using each method are available at this hyperlink.

任何人都经历这种类型的问题和/或可以预期的这种行为?有没有更好的方法来配置它以将数据从Sybase ASE提取到MS SQL Server 2005?

回答

1

我有完全相同的问题,我最终使用链接服务器连接到sybase,因为它是最快的方式和最可靠的,我很难尝试直接使用SSIS sql 2008连接到sybase。 尽管我能够使用Sql 2000 DTS连接到sybase。

但通过DataDirect的 http://www.datadirect.com/products/other/ssis/index.html

我下载并尝试了30天,提供了一个非常有趣的驱动程序,并与Sybase驱动程序进行比较时,它是惊人的快,很容易 它很轻,我意味着没有太多的安装,它对SSIS非常有用。