您目前已離線,請等候您的網際網路重新連線

PRB: DTS 精靈可能無法偵測出混合資料的 Excel 資料行型別在 SQL Server 中

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:236605
徵狀
當如果文字資料行中含有可能被解譯為混合資料 (比方說英數字元表示十六進位資料) 的資料,您可以使用從 Microsoft Excel 工作表匯入資料的 Microsoft SQL Server 資料轉換服務 (DTS) 匯入精靈時,初始的幾個資料列會決定使用實際資料型別,以及後續的資料列可能會被轉移成 NULL。DTS 並不會提供警告訊息,以指出某些資料列可能會無法傳輸。

附註如果您使用的 SQL Server 2005,使用 [來執行資料轉換的 [SQL Server 匯入及匯出精靈]。
發生的原因
這種行為是經過設計的 Excel ISAM。前 8 列判斷資料行的資料型別。比方說如果大部分的前 8 列包含數字字元,資料行的資料型別會是一個數字。為 NULL 會傳回所有後續的值不適合該資料型別。
其他可行方案
一個解決方法是將 Excel 工作表儲存為文字檔案,然後再將檔案匯入到 SQL Server 使用 「 DTS 精靈 」。
其他相關資訊

步驟至 reproduce 行為

比方說在 Excel 中建立下列的工作表:
十進位十六進位
11
22
33
44
55
66
77
88
99
10A
11B
12C
13D
14E
15F
第一欄小數 」 設定為一般的格式和第二行十六進位"格式為文字。

如果您載入到 SQL Server 使用 DTS 精靈 10-15 (A-F 值) 的資料列的 Excel 從這個資料表是 NULL 時載入至 SQL 資料表 ([十六進位] 欄格式化為活頁簿中的文字,但 DTS 使文繞圖型別因為偵測到來源資料行作為 DBTYPE_R8)。
参考
如需詳細資訊請參閱 SQL Server 線上叢書 》 中的 「 SQL Server 資料轉換服務 」 主題]。
kbDSupport

警告:本文為自動翻譯

內容

文章識別碼:236605 - 最後檢閱時間:02/22/2007 22:33:50 - 修訂: 6.3

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbmt kbdatabase kbprb KB236605 KbMtzh
意見反應