将数据导入表时,强制关闭ASP.NET连接到数据库

时间:2011-11-30 02:25:19

标签: c# asp.net sql

我正在使用C#Visual Studio 2005和SQL Server 2005。

在我在ASP.NET配置工具中实现角色管理之前,我从Excel电子表格中导入的数据运行正常。但在我实施角色管理后,每次尝试从我的Excel电子表格导入数据时,都会强行关闭连接。

以下是我的Excel导入的代码段:

string strUploadFileName = "C:/Documents and Settings/user01/My Documents/Visual Studio 2005/WebSites/MajorProject/UploadFiles/" + DateTime.Now.ToString("yyyyMMddHHmmss") + strExtension;

ExcelImport.SaveAs(strUploadFileName);

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strUploadFileName + ";Extended Properties=Excel 8.0;";

using (OleDbConnection connection = new OleDbConnection(connStr))
{
   OleDbCommand command = new OleDbCommand("Select [COLUMNS] FROM [sheet1$]", connection);

   connection.Open();

   using (DbDataReader dr = command.ExecuteReader())
   {
       string sqlConnectionString = "Data Source=<DS>";

       using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
       {
          bulkCopy.DestinationTableName = "UserData";
          bulkCopy.WriteToServer(dr);
       }
   }
}

任何人都知道可能的原因是什么?我已关闭我的Web应用程序的角色管理并等待我的服务器重新启动,我将尝试再次将数据导入到我的表中。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可能需要在读取数据时关闭连接。使用方式只能帮助处理对象连接,但不能关闭它。

希望它会有所帮助。