问个问题 我把一个excel导入sql在sql中 Select * into sssss from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) 没有问题 可以导入但写到c#中
cmd = new SqlCommand("Select * into sssss from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)",con);cmd.ExecuteNonQuery();就提示 OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。这是怎么回事? 谢谢

解决方案 »

  1.   

    Excel 5.0?换成Excel 12.0吧。
      

  2.   

     string SourceConstr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + filepath + "';Extended Properties= 'Excel 8.0;HDR=Yes;IMEX=1'";
    m_con = new OleDbConnection(SourceConstr); public DataSet GetDataSet(string sql)
            {
                DataSet ds = new DataSet();
                try
                {
                    dad = new OleDbDataAdapter(sql, m_con);
                    dad.Fill(ds, "[sheet1$]");
                }
                finally
                {
                    m_con.Close();
                }
                return ds;
            }
      DataSet ds =DAL.GetInstance(fileurl).GetDataSet("SELECT * FROM [Sheet1$]");大概就是这么回事,自己好好悟吧!