2013-06-24 46 views
1

我將Access數據庫轉換爲SQL Server表。我使用帶有ADO NET目標的OLE DB源。煩惱是轉換列。將Access列轉換爲SQL列的更簡單的方法

  1. 對於需要縮短的字符串,我使用派生列並使用左側的字符串函數。 EX(DT_STR, 15, 1252) LEFT (cm_type, 15)

  2. 對於一個轉換,這只是Unicode向非Unicode我做一個數據轉換轉換編輯器。

只是想知道如果我能這樣快不知怎麼做。

+0

它是否緩慢,或者您認爲沒有這些轉換可能會更快?如果您將文件從一臺機器複製到另一臺機器 - 速度更快嗎? SSIS在哪裏運行:在SQL Server計算機上還是在開發計算機上? – Stoleg

+0

我只是覺得其中一些轉換非常耗時。我正在尋找最佳做法。 – joe

回答

0

你使用合適的工具,因此,對這些操作的性能應該是由MS設計

有一個「不那麼好/不建議」絕招你可以試試。 - 由SQL Server的隱式轉換。如果你知道有將b當列縮短時不會截斷,那麼就不會有錯誤。沒有錯誤 - 刪除該轉換。 SSIS會發出警告,但會繼續。

對於Unicode轉換同樣的事情。如果您知道Access中沒有Unicode符號,請移除該轉換。 SSIS也會用警告標記它,但會一直運行直到遇到Unicode字符。

爲了加快速度,您可以將SSIS安裝在與SQL Server相同的機器上。儘管一些DBA不喜歡管理複雜的安裝並禁止這種安裝。將訪問數據庫複製到SSIS所在的同一臺機器上 - 它可以節省網絡連接的速度。

+0

感謝您提供的所有信息 – joe