我碰到的問題是,將excel文件導入數據庫時生成的sql里中文數據總是亂碼,服了,我淦。
原因最后找到是因為某些數據不匹配,比如oracle里設置的是number數據類型,但是excel數據里是漢字字符串類型,所以不匹配,就導致了最后生成的sql全部亂碼,
之前還百度了很多的解決方案,各種設置編碼格式utf-8什么的,最后都沒有解決,最終才發現亂碼的原因是因為數據不匹配,不是因為別的,特此記錄一下。
1.第一步,新建excel表格,xls格式的即可,表頭與數據庫字段對應,這一步一定要注意,我明明復制的字段,最后還能出問題,字段對不上,后面就會出現導入重復列的問題。
2.在excel里填充自己的數據
3.數據庫連接工具,我們使用sqldevlper,選中表,右鍵導入數據,選擇文件導入
下一步:
下一步:什么都不用動,默認直接下一步
下一步:注意匹配條件,默認名稱,表格里如果和數據庫字段復制一樣的話,可以用這個,如果不一樣也可以用位置。所以盡量用名稱,將表頭與字段復制為一樣。
第二個需要注意的點是時間格式的,導入后不管成功與否,都會生成對應的sql語句,要根據sql里的時間將格式設置一下,月-日-年,就設置為mm-dd-yyyy,如果是別的自行調整設置。mm-dd-yyyy此處是可以手動填寫日期類型的,很方便,注意哦。
那么excel表中的時間數據要改成下面這個樣式的哦。
下一步:點擊驗證,如下圖,部分日期字段我沒有設置格式,所以failed正常。點擊完成,直接就插入數據了。