我以前也導入過數據,也沒報錯,今天再次導入數據的時候,發現了兩個錯誤,如下
文本被截斷,或者一個或多個字符在目標代碼頁中沒有匹配項
這個很好理解,就是你的數據太大了,而你設置的大小不夠用,這里可能會有疑問
如下圖,明明可以設置大小的,設置大小之后還是會報錯.
原因
這個是因為,SQL Server的導入導出為了確定數據表的字段類型,取excel文件的前8行來判別。如果前8條是少於255的字符串,則設成nvarchar(255)類型,但如果Excel后面的記錄中有長度超過255的,導入時就會出錯。即使在導入設置映射時調整了該字段的長度也不行。
解決方法
我是在Excel數據的第一行加了一行,每個字段都填了很長的字符,這樣SQL Server在檢測前8行的時候,就會自動設置最大值了
該值違反了該列的完整性約束
空行
這個是因為你后面的新列是空格,你選中最后一個字段后面的列,刪除,消除掉空格存在的可能,只要導入的時候沒出現F10之類的F開頭的,就可以
沒有設置為允許為NULL
還有另外一種原因,這個字段有設置為允許為NULL的地方,我取消了,設置的不允許為MULL,然后就出現了一個某個列違反了數據完整性的報錯
重新設置為允許為NULL就沒有這個問題了