2010-11-12 22 views
0

我有通過SSIS導入SQL 2008 R2的Excel 2003文件。有一列我遇到了一個大問題。該列在Excel工作表中定義爲TEXT。在36行中,有32個像XTZ23這樣的值,它們可以正確導入。然而,最後4行 只是像2646672這樣的數字。它們作爲NULL導入。如果我將連接字符串更改爲IMEX = 1並將註冊表修改爲TypeGuessRow=0,則這些數字最終將變爲2.64667e + 006。SSIS無法正確導入Excel中的TEXT列(整數結果爲NULL值)

我在這裏錯過了什麼?

+1

他們必須保持excel文件嗎?如果將它們另存爲csv,則可以使用schema.ini來定義數據類型。 – datatoo 2010-11-12 14:31:32

回答

0

如果可能,第一種解決方案是更改excel列格式。第二,兩年前我有過這個問題,因爲我從另一個服務中獲得了excel文件,所以無法更改它...我不能正確地重新記住,但我已經調用了自定義代碼/函數,或者它是某種SSIS內部將特定列行從一種數據類型轉換爲另一種數據類型的轉換。

1

我知道這是一箇舊帖子,但對於未來的搜索者,只需將IMEX = 1添加到SSIS中Excel管理器的連接字符串中即可。

+0

+1爲正確的答案 – 2012-05-29 15:54:20