SQL Server Integration Services 2005 中的 Sybase ASE OLE DB 连接
我正在构建一个 SQL Server 2005 Integration Services 包,以将数据从 Sybase Adaptive Server Enterprise 12.5.4 数据库迁移到 SQL Server 2005 数据库。 Sybase 数据库是供应商产品的后端,我们的团队无权更改或管理。
在开发的初始阶段,为了访问 Sybase 数据库,我在目标数据库服务器上利用 Microsoft OLE DB Provider for ODBC Drivers 创建了一个 SQL Server 链接服务器。创建此链接服务器后,我使用单个数据源创建了 SSIS 包 - 连接到 MS SQL Server“目标”数据库。接下来,在我的 SSIS 包数据流任务中,我将 OLE DB 源配置为访问包中定义的单个数据源,使用 SQL 命令访问源链接服务器(只需使用 SELECT col1, col2, col3 FROM [SybaseLinkedServer].[数据库].dbo.[表])。数据流任务中的 OLE DB 目标使用与 OLE DB 源相同的连接管理器,但使用表或视图 - 快速加载数据访问模式。
后来,在项目中,我获得了Sybase ASE OLE DB Provider(v12.5.4 OLE DB Provider不再可用,我们不得不购买v15.7 ASE SDK)。考虑到从解决方案中删除链接服务器会提高性能,我修改了 SSIS 包以包含一个新的 OLE DB 数据源,利用 Sybase ASE OLE DB 提供程序直接访问 Sybase 数据库,并修改了 OLE DB 源以使用新的 OLE DB 数据源。 ASE OLE DB 数据源具有表或视图数据访问模式。
令我惊讶的是,将解决方案从使用 ODBC 驱动程序的 OLEDB 提供程序的链接服务器切换到使用 Sybase ASE OLEDB 提供程序的直接 OLEDB 连接会产生明显较差的结果,远远超出了我的预期。 使用每种方法进行测试运行的结果可在此超链接中找到。
有人遇到过此类问题吗?和/或这种行为是预期的吗?有没有更好的方法来配置它以将数据从 Sybase ASE 提取到 MS SQL Server 2005?
I am building a SQL Server 2005 Integration Services package to migrate data from a Sybase Adaptive Server Enterprise 12.5.4 database to a SQL Server 2005 Database. The Sybase Database is the backend for a vendor product which our team does not have the authority to change or manage.
In my initial stages of development, to access the Sybase database, I created a SQL Server Linked Server utilizing the Microsoft OLE DB Provider for ODBC Drivers on my destination database server. With this linked server created, I created my SSIS package with a single Data Source - connecting to the MS SQL Server "Destination" Database. Next, in my SSIS package data flow tasks, I configured the OLE DB Source to access single Data Source defined in the package, using SQL commands to access the source linked server (simply using SELECT col1, col2, col3 FROM [SybaseLinkedServer].[Database].dbo.[Table]). The OLE DB Destination within the data flow task utilizes the same connection manager as the OLE DB Source, but makes use of the Table or view - fast load Data access mode.
Later, in the project, I obtained the Sybase ASE OLE DB Provider (The v12.5.4 OLE DB Provider was no longer available, we had to purchase the v15.7 ASE SDK). Thinking that removing the Linked Server from the solution would improve performance, I modified the SSIS package to include a new OLE DB Data Source utilizing the Sybase ASE OLE DB Provider to access the Sybase Database directly, and modified the OLE DB Source to use the new ASE OLE DB Data Source with the Table or View Data access mode.
To my surprise, switching the solution from the Linked Server using the OLEDB Provider for ODBC Drivers to the direct OLEDB connection using the Sybase ASE OLEDB Provider produced significantly poorer results, far from my expectations. The results from test runs using each method are available at this hyperlink.
Has anyone experienced this type of issue and/or is this behavior to be expected? Is there a better way to configure this to extract data from Sybase ASE to MS SQL Server 2005?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我遇到了完全相同的问题,我最终使用链接服务器连接到 sybase,因为这是最快且最可靠的方法,我在尝试直接使用 SSIS sql 2008 连接到 sybase 时遇到了很大的困难。
即使我能够使用 Sql 2000 DTS 连接到 sybase。
但是 datadirect 提供了一个非常有趣的驱动程序
http://www.datadirect.com/products/other/ssis/index.html
我下载了它并试用了 30 天,速度惊人且非常简单
与 sybase 驱动程序相比,它非常轻,我的意思是不需要安装太多,并且它与 SSIS 配合得很好。
i had the exact same issue and i ended up using linked server to connect to sybase because it was the fastest way and most reliable, i had great difficulty trying to connect to sybase using SSIS sql 2008 directly.
even though i was able to connect to sybase using Sql 2000 DTSs.
but there is a very interesting driver provided by datadirect
http://www.datadirect.com/products/other/ssis/index.html
i downloaded it and tried it for 30 days, and it was amazing fast and very easy
its very light when comparing it with sybase drivers, i mean not much to install and it works very good with SSIS.