作爲我在辦公室需求的一部分,Im需要編寫一個C#控制檯應用程序,該應用程序從Oracle CRM ON Demand服務器提取批量數據並將其推送到本地Oracle數據庫。這是批量插入Oracle數據庫的最有效方式?
現在,經過很多研究,我決定使用ODP.NET的數組綁定功能,這從我的理解中提供了最佳性能。
但問題在於,我需要拉出的數據每個記錄/行總共有超過50個字段/列。所以我需要創建很多字符串數組?
我可以使用具有50列以上的數據表而不是字符串數組來實現相同的(數組綁定)嗎?如果是這樣,怎麼樣? (我已經做了足夠的研究,找不到解決方案)我知道我可以使用OracleBulkCopy類,但是從我讀到的內容來看,它的效率並不高,而且與Array Binding相比性能差。
另外,如果我使用這麼多的數組,我的應用程序是否仍然有效?因爲當我與同事討論這個選項時,他們聲稱它不是一個好的設計,因此在你的應用程序中有這麼多的數組。
以上問題讓我陷入了過去的幾天,任何人都可以請幫我用我的問題的最佳解決方案嗎?我需要儘快修復這個問題。
謝謝你的迴應。 – user2243353 2013-04-05 05:37:15
因此,如果我按照自己的選擇繼續使用數組綁定,那麼我必須採取任何預防措施來釋放數組可能需要的內存? 另外,事後考慮,列表是比數組更好的選擇嗎? – user2243353 2013-04-05 05:43:37
垃圾回收器會爲你釋放內存,不用擔心。只有在事先不知道要插入多少行的情況下(鏈接的)列表纔會是更好的選擇:它可能更簡單,更直觀,可以直接爲您的陣列分配合適的大小,並且可以使用for循環來迭代你處理的數據。 – schglurps 2013-04-05 09:13:33