所以,我有与C#/ASP.NET Oledb - MS Excel read "Unspecified error"中描述的相同的症状,但我的答案似乎没有解决它。即使总是关闭OleDBConnection并处理它也显示相同的症状。
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会话池和自动事务登记。
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是什么?