Não foi possível encontrar o ISAM instalável

Eu estou tentando criar programa em .net usando c # para upload de arquivo do excel, lê-lo e adicionar arquivo de registro do excel ao banco de dados do sql server de dados do excel. Ao fazer isso, recebi um erro: Não foi possível localizar o ISAM instalável?

Alguém pode me ajudar a corrigir esse problema?

Ou pode ser fornecer algum código de exemplo para fazer esse tipo de atribuição de maneira diferente?

protected void Button1_Click(object sender, EventArgs e)
    {
        String excelConnectionString1;
        String fname = FileUpload1.PostedFile.FileName;
        if (FileUpload1.PostedFile.FileName.EndsWith(".xls"))
        {
            String excelsheet;
            FileUpload1.SaveAs(Server.MapPath("~/file/" + FileUpload1.FileName));

            if (FileUpload1.PostedFile.FileName.EndsWith(".xls"))
            {
                excelConnectionString1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/file/" + FileUpload1.FileName) + ";Extended Properties=Excel 8.0;HDR=Yes;";
                OleDbConnection myEcelConnection1 = new OleDbConnection(excelConnectionString1);
                myEcelConnection1.Open();
                if (txtsheet.Text.Length == 0)
                {
                    lblmsg.Text = "Please Write File Name";
                }
                else
                {
                    excelsheet = "[" + txtsheet.Text + "$" + "]";
                    string sheet = "Select * from [" + txtsheet.Text + "$" + "]";
                    OleDbCommand cmd1 = new OleDbCommand(sheet, myEcelConnection1);
                    cmd1.CommandType = CommandType.Text;
                    OleDbDataAdapter myAdapter1 = new OleDbDataAdapter(cmd1);
                    DataSet myDataSet1 = new DataSet();
                    myAdapter1.Fill(myDataSet1);
                    int a = myDataSet1.Tables[0].Rows.Count - 1;
                    string name;
                    string dob;
                    for (int i = 0; i <= a; i++)
                    {
                        name = myDataSet1.Tables[0].Rows[i].ItemArray[0].ToString();
                        dob = myDataSet1.Tables[0].Rows[i].ItemArray[1].ToString();
                        SqlConnection con = new SqlConnection("Connection String for Sql Server");
                        con.Open();
                        SqlCommand command = new SqlCommand("Insert into info(name,dob)values(@valname,@valdob)", con);
                        command.Parameters.Add("@valname", SqlDbType.VarChar, 50).Value = name;
                        command.Parameters.Add("@valdob", SqlDbType.VarChar, 50).Value = dob;
                        command.CommandType = CommandType.Text;
                        SqlDataAdapter da = new SqlDataAdapter(command);
                        DataSet ds = new DataSet();
                        da.Fill(ds);
                        con.Close();
                    }
                }
            }
        }
    }
}

}

questionAnswers(1)

yourAnswerToTheQuestion