我無法滿足標題中的全部要求。所以,在這裏。如何使用VB.NET將數據從上載的Excel表單加載到Oracle數據庫表中
我有一個非常古老的VB.NET Web應用程序,它從上傳的Excel表格讀取每一行併發送到數據庫進行檢查。 Excel可以包含數千條記錄。這導致了很多數據庫調用,導致性能很差。
爲了避免這種情況,我將每個excel行的關鍵字列都附加到一個字符串中,在代碼本身中構造了一個SQL查詢並傳遞給數據庫執行。我知道這不是一個推薦的方法,但是,性能是我們關注的主要問題,我不知道當時有多少用戶通常在他們的Excel表中有記錄。所以,這是在Excel中的行不超過500-600的假設下開發的。
現在我們正面臨另一個問題。當用戶上傳巨大的Excel文件時,生成的SQL將超出Oracle查詢長度限制(SQL查詢爲4kb,PL/SQL Execute Immediate爲32kb),導致查詢失敗。
我現在正在計劃的是將excel加載到臨時數據庫表中,並通過存儲過程執行檢查。但是,我不能做每個記錄插入,因爲這會導致更多的數據庫調用,這正是我想要首先消除的。我google了一下,發現從VB.NET中通過sqlldr.exe加載,但這似乎並不是一個合適的方法。
我還有其他的選擇嗎?
StackOverflow是關於幫助人們修復他們現有的代碼。請求代碼,教程,研究,工具,建議,庫等 是無關緊要的。請閱讀http://stackoverflow.com/help/how-to-ask,http://stackoverflow.com/help/dont-ask,http://stackoverflow.com/help/mcve並參加[tour]( http://stackoverflow.com/tour)在發佈更多Q之前。祝你好運。 – shellter