我或多或少与这篇文章中的错误完全相同,但该解决方案并没有解决我的问题。
我得到的错误信息:
Microsoft Office Access 数据库引擎找不到对象“Adresser$”。 确保对象存在并且正确拼写其名称和路径名。
我已经检查并仔细检查了名称是否正确,我已重命名工作表并将名称复制粘贴到我的代码中,但似乎没有任何效果。我究竟做错了什么?
这是我的代码:
string conStr = String.Format(
@"Provider={0};Data Source=""{1}"";Extended Properties=""{2}""",
"Microsoft.ACE.OLEDB.12.0",
"REGISTER 090310.xls",
"Excel 12.0 Xml;IMEX=1;HDR=YES;");
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
using (IDbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = conStr;
using (IDbCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT TOP 10 * FROM [Adresser$]";
connection.Open();
// The exception is thrown on this line, with yellow highlight on
// IDataReader dr = command.ExecuteReader()
using (IDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
Console.WriteLine(
string.Format("First name: {0}\tLast name: {1}",
dr[0].ToString(),
dr[1].ToString()));
}
}
}
}