私は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;
}
}
問題が正確に何であるかはわかりませんが、ファイルのアクセス許可が原因であると推測されます。誰でもできるだけ早く解決策を提供してください。