我在加載到SQL之前使用schema.ini來驗證CSV文件中的數據類型/列。如果行中存在數據類型不匹配,它仍然會導入該行,但會將該特定不匹配單元格留空。如果有任何問題和/或提供錯誤報告(即哪一行有問題),我可以阻止用戶導入CSV文件。使用schema.ini作爲驗證器將CSV導入到SQL
0
A
回答
0
最好的方法是檢查文件是否有任何不匹配;但在大文件的情況下,這是不可行的。 您可能需要首先加載它,檢查表中的加載數據是否存在不匹配。這比檢查文件要快得多(您可以使用簡單的T-SQL腳本檢查表中的空值)。 如果發現不匹配,用戶可以通知,然後可以清除表格。
0
看看他FileHelpers庫:http://www.filehelpers.com/
這是一個非常強大的庫做各種進口,包括CSV和他們也有一個漂亮整潔的錯誤處理部分
使用不同錯誤模式對於3種錯誤處理,FileHelpers庫支持 。
在標準模式下,您可以在出現故障時捕獲異常。 這種方法並不壞,但是你失去了關於當前 記錄的一些信息,並且你不能使用記錄數組,因爲它不是被賦值的。
更智能的方式被usign的 ErrorManager中的ErrorMode.SaveAndContinue:
使用這樣的引擎,你有良好的記錄,在記錄 陣列和在ErrorManager中你有誤差TE記錄和能 做你想要的任何地方。
另一種選擇是忽略錯誤,並繼續在如何被 表明本實施例中
1 engine.ErrorManager.ErrorMode = ErrorMode.IgnoreAndContinue; 2個 3記錄= engine.ReadFile(...複製到剪貼板|查看純| 打印| engine.ErrorManager.ErrorMode = ErrorMode.IgnoreAndContinue;
記錄= engine.ReadFile(...在記錄陣列您只有 良好記錄。
相關問題
- 1. CSV導出從PHP /導入到訪問使用VBA --- schema.ini字符集問題
- 2. 將CSV文件作爲SQL函數導入到SQL Server 2012中
- 3. Laravel:導入CSV - 驗證
- 4. 驗證導入CSV在Laravel
- 5. 導入到MySQL的CSV字段驗證
- 6. 在導入到SQL Server之前驗證CSV文件
- 7. schema.ini來定義csv
- 8. SQL導入:從CSV導入數據到SQL服務器
- 9. 將Maxmind CSV導入到SQL Server中
- 10. 導入CSV文件到SQL服務器...
- 11. 將CSV導入SQL(CODE)
- 12. 使用JAVA將.csv導入到RTC
- 13. 使用PHP將CSV導入到MySQL
- 14. 使用asp.net將csv導入到gridview中
- 15. 使用myphpadmin將csv導入到mysql
- 16. 導入csv,操作並導出到csv
- 17. 導入csv到sql bash
- 18. 具有驗證功能的CSV導入
- 19. 將CSV轉換爲System.data.common.dbdatareader以將CSV大容量導入SQL
- 20. 逐行使用CSV導入行並將其作爲csv再次導出
- 21. 使用Powershell將數據從SQL Server數據庫導入到CSV
- 22. 使用SSMS將CSV導入到SQL Azure數據庫中
- 23. 使用ASP.NET和C將csv文件導入到SQL Server中#
- 24. 使用Python將CSV文件導入到SQL Server中
- 25. 使用bcp將csv文件導入到sql 2005或2008
- 26. 從Access導出動態字段到csv(schema.ini?)
- 27. 如何導入csv文件並使用watin測試驗證?
- 28. 將大型CSV文件導入到SQL服務器失敗
- 29. 將數據類型DECIMAL從CSV導入到SQL服務器
- 30. 導入CSV作爲整數