系统资源超出错误不是来自托管代码,它来自你杀死你的数据库(JET?)
你正在开辟许多联系,快速的方式......
一些技巧:
通过不为每个命令打开新连接来避免往返,并使用单个连接执行插入.
确保数据库连接池正常工作(不确定它是否适用于OLEDB连接).
考虑使用更优化的方式插入数据.
你试过这个吗?
using (OleDBConnection conn = new OleDBConnection(connstr)) { while (IHaveData) { using (OldDBCommand cmd = new OldDBCommand()) { cmd.Connection = conn; cmd.ExecuteScalar(); } } }