1

私はC#で2つのメソッドを書きました。1つはExcelシートからレコードを取得するためのもので、もう1つは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 に答える