2011-11-30 75 views
0

我使用C#的Visual Studio 2005和SQL Server強制關閉2005ASP.NET連接到數據庫導入數據時到表

之前我實現了在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應用程序的角色管理,並等待我的服務器重新啓動,我將嘗試再次將數據導入到我的表中。

非常感謝您的幫助。

+0

你的'sqlConnectionString'看起來像什麼? –

回答

1

讀取數據時可能需要關閉連接。使用方式只能幫助處理對象連接,但不能關閉它。

希望它會有所幫助。

+0

謝謝。我試圖在BulkCopy後關閉連接,但在將數據複製到表中之前,服務器仍然關閉。 – gymcode