0
這很奇怪,我試圖用數據讀取器訪問excel表格,並得到一個我很難弄清楚的錯誤。想知道是否有人遇到過同樣的問題。無法讀取excel表格
Microsoft Office Access數據庫引擎找不到對象'SHEETNAME'。請確保該對象存在並且,您拼寫其名稱和路徑名稱正確
var str = new StringBuilder();
using (var myConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=foreignkeys.xlsx;Extended Properties='Excel 8.0;HDR=Yes'"))
{
using (var myCommand = new OleDbCommand())
{
myConnection.Open();
myCommand.Connection = myConnection;
myCommand.CommandText = "select TableName, ColumnName from [SHEETNAME]";
using (var dr = myCommand.ExecuteReader())
{
while (dr.Read())
{
var tableName = dr["TableName"].ToString();
var columnName = dr["ColumnName"].ToString();
var tmp = columnName;
tmp = tmp.Replace("ID", "").Replace("Id", "");
str.AppendLine(string.Format("IF NOT EXISTS (SELECT 1 FROM sys.foreign_keys AS FK WHERE name = 'FK_{0}_{1}' AND parent_object_id = OBJECT_ID('{2}'))", tableName, tmp, tableName));
str.AppendLine("BEGIN");
str.AppendLine(string.Format("ALTER TABLE dbo.{0} WITH CHECK", tableName));
str.AppendLine(string.Format("ADD CONSTRAINT FK_{0}_{1} FOREIGN KEY ({2}) REFERENCES dbo.{3}({4})", tableName, tmp, columnName, tmp, columnName));
str.AppendLine("END");
str.AppendLine("");
str.AppendLine("");
}
}
}
}
return str.ToString();
你就是那人史蒂夫表!那樣做了。謝謝 :-) – user167698