2012-07-03 14 views
1

我已經在C#中編寫了2個方法。一個用於從Excel表格獲取記錄,另一個用於插入Excel表格。當我在本地系統中運行時,這兩種方法都能正常工作。但是當我將它託管到appHarbor.com時,獲取記錄成功但插入失敗。託管到AppHarbor後寫入Excel工作表失敗。在C#中完成#

這裏是插入方法

private bool AddBlessingToExcel(Blessing blessing) 
{ 
    try 
    { 

     string path = System.Web.HttpContext.Current.Server.MapPath("Data") + "/WeddingSheets.xls"; 

     OleDbConnection myConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0"); 

     // always read from the sheet1. 

     OleDbCommand myCommand = new OleDbCommand("Insert into [Blessings$] (GuestName, GuestLocation, GuestMessage)" + " values ('" + blessing.GuestName + "', '" + blessing.GuestLocation + "', '" + blessing.GuestMessage + "')"); 

     myConnection.Open(); 

     myCommand.Connection = myConnection; 


     int val = myCommand.ExecuteNonQuery(); 

     //Close the connection. 
     myConnection.Close(); 
     return true; 
    } 
    catch(Exception ex) 
    { 
     //throw ex; 
     return false; 
    } 
} 

我不知道問題到底是什麼,但我的猜測是它的,因爲文件的permissions..can人請儘快給我一個解決方案。

回答

0

在應用程序的「設置」頁面中,在頁面頂部,您應該看到一個名爲「啓用文件系統寫入權限」的選項,旁邊有一個複選框。

這應該會給你的應用程序寫入權限。但是,我相信每次構建時都會重置,所以您可能必須在新部署後再次啓用它。

+0

如果允許一般寫入文件系統(所有目錄),這將是一個主要的安全問題。只能爲專用日誌目錄啓用寫訪問權限。 –

+0

謝謝老闆!你幫我準時:)它工作! :) –

相關問題