2014-06-16 73 views
0

我想保留null,空白,na值,因爲它是將數據從excel導入SSIS中的SQL服務器時。我使用數據流任務將數據從excel導入到sql server。如前所述,na值有時會被轉換爲null或空。請幫助保留null,空白,na值,同時excel到SSIS數據流任務中的sql server數據導入

+0

'#N/A'不是Excel中的值。這是一個錯誤。你可以在導入之前複製和粘貼特殊的表格,並獲取'#N/A'選擇數據源時,選中保留空值來保持NULL值不變 – Raj

+0

感謝您的快速響應。在我的Excel表中,我的值爲'na'(不適用),但不是#N/A。和一些空白值。用戶希望保留na,空值,他不希望他們看到NULL值。我選擇了在SSIS數據流任務Excel源中檢查的保留NULL值。 – user3744361

+0

目標列的數據類型是什麼? – Raj

回答

0

您的問題似乎是,Excel連接管理器根據默認的8行樣本大小將該列識別爲整數。一旦識別爲整數,其餘行將被視爲相同,並且任何不能轉換爲整數的值都將視爲NULL

在SSIS中創建連接後,選擇連接並在屬性窗格中針對Connection String,最後添加IMEX=1

下面是一個例子

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test\New Microsoft Excel Worksheet.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=1 "; 

請大家注意,IMEX參數不是萬能的。它通常被描述(錯誤地)爲「以文本形式讀取所有值」。它所做的是指示Excel驅動程序進入「導入模式」,該模式指示驅動程序解釋具有數字和文本的列僅作爲文本導入,而不是根據其常規「猜測」進行解釋。

+0

非常感謝,更新連接字符串IMEX = 1爲我工作,但我不得不改變我的表中的一些列nvarchar。 – user3744361

相關問題