不能修改它在只读数据库中的表的devise

我试图将数据导出到Excel表格我已经写了代码,但得到错误,我不知道我错了,请帮助

它显示错误“不能修改它在只读数据库中的表的devise”

public override void ExportToExcel() { MModule objModule = new MModule(); objModule.LoadModule(this.Data.MID); DatabaseObject objData = new DatabaseObject(); string file = DateTime.Now.Ticks + "_" + objModule.Title + ".xlsx"; System.IO.File.Copy(Server.MapPath("/Excel/Export/template.xlsx"), Server.MapPath("/Excel/Export/" + file)); string filename = Server.MapPath("/Excel/Export/" + file); objData.Query = "SELECT * FROM " + objModule.TableName + ""; DataTable dtReport = objData.GetTable(); System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Mode=ReadWrite;Extended Properties=\"Excel 12.0 Xml;HDR=YES\""); con.Open(); System.Data.OleDb.OleDbCommand cmd = con.CreateCommand(); string tableString = ""; string ColString = ""; for (int i = 0; i < dtReport.Columns.Count; i++) { tableString += "[" + dtReport.Columns[i].Caption + "] varchar(255),"; ColString += "[" + dtReport.Columns[i].Caption + "],"; } tableString = tableString.Substring(0, tableString.Length - 1); try { ColString = ColString.Substring(0, ColString.Length - 1); cmd.CommandText = "CREATE TABLE MySheet (ID char(255), Field1 char(255))"; cmd.ExecuteNonQuery(); string ValString = ""; for (int j = 0; j < dtReport.Rows.Count; j++) { ValString = ""; for (int i = 0; i < dtReport.Columns.Count; i++) { ValString += "'" + dtReport.Rows[j][i] + "',"; } ValString = ValString.Substring(0, ValString.Length - 1); cmd.CommandText = "Insert Into " + objModule.Title + "(" + ColString + ") Values (" + ValString + ");"; cmd.ExecuteNonQuery(); } cmd.Dispose(); con.Dispose(); con.Close(); Microsoft.Office.Interop.Excel.Application excelApplication = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook workbook = excelApplication.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); excelApplication.DisplayAlerts = false; ((Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1]).Delete(); workbook.Close(true, filename, null); excelApplication.DisplayAlerts = true; } catch (Exception ex) { } }