我已經通過添加類型列來定義DataTable。我期望DataTable的範圍在100萬到300萬行之間。如何在填充數據表時將DataTable內容複製到SQL表中
我使用Microsoft的TextFieldParser(因爲它支持多種固定寬度格式,以及通過Peek方法),以填充DataTable的行。
我想要進行某種操作,將數據表中的行復制到鏡像SQL表中。
如果我填充整個DataTable,然後使用SqlAdapter和SqlCommandBuilder更新SQL表here我提示內存不足。
我該如何做到這一點?
爲什麼不推薦?將它與SqlBulkCopy配對怎麼樣? –
您可以真正將其與大容量拷貝配對,但是內存不足不是因爲使用SqlCommand,而是因爲內存中DataTable的大小非常大。僅批量複製可以優化INSERT操作的速度。在上面剛剛提出的解決方案中,使用SqlBulkCopy.WriteToServer –