2011-10-07 60 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非常有用。