因此,我的症状与C#/ASP.NET Oledb - MS Excel read "Unspecified error"中描述的相同,但我的my answer似乎无法解决问题。即使总是关闭OleDBConnection并处理它也会显示相同的症状。OleDbConnection,Excel和连接池问题
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=Excel 12.0;", _excelFile);
using (var conn = new OleDbConnection(connectionString))
{
try
{
DoSomething();
}
finally
{
conn.Close();
}
}
现在我已经找到了连接池以下信息:
的.NET Framework数据提供程序使用OLE DB会话池OLE DB自动池连接。连接字符串参数可用于启用或禁用包括池在内的OLE DB服务。例如,以下连接字符串将禁用OLE DB会话池和自动事务登记。
Provider = SQLOLEDB; OLE DB Services = -4; Data Source = localhost; Integrated Security = SSPI;
我们建议您在完成使用后始终关闭或处置连接,以便将连接返回到池。未明确关闭的连接可能无法返回到池中。例如,如果已达到最大池大小并且连接仍然有效,那么超出范围但尚未明确关闭的连接将仅返回到连接池。
(来源:http://msdn.microsoft.com/en-us/library/ms254502.aspx)
什么是连接字符串属性OLE DB SERVICES
,什么是-4
值?
如果你打算奖赏赏金,你应该像这里描述的那样明确地做到这一点(http://meta.stackexchange.com/questions/16065/how-does-the-bounty-system-work/16067#例如,16067)。 – Oleg 2011-07-29 06:48:09
@ Residuum,它是否在连接字符串中使用OLE DB Services = -4?我面临同样的问题... – 2014-08-07 06:14:21
@Thirisangu:是的,OLE DB服务= -4正在工作。 – Residuum 2014-08-07 09:46:07