1

我在 C# 中编写了 2 个方法。一种用于从 excel 表中获取记录,另一种用于插入到 excel 表中。当我在我的本地系统中运行时,这两种方法都可以正常工作。但是当我将它托管到 appHarbor.com 时,获取记录成功但插入失败。

这是插入方法

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;
    }
}

我不知道问题到底是什么,但我的猜测是因为文件权限..任何人都可以尽快为我提供解决方案。

4

1 回答 1

0

在应用程序的“设置”页面中,在页面顶部,您应该会看到一个名为“启用文件系统写入访问”的选项,旁边有一个复选框。

这应该给你的应用写访问权限。但是,我相信每次构建时都会重置它,因此您可能必须在新部署后再次启用它。

于 2012-07-03T15:21:10.110 回答