我正在使用64位Windows Server 2008和SQL Server 2008.并使用VS2008 + C#+。Net 2.0 + IIS 7.0 + ASP.Net。执行以下语句时,我遇到了以下错误(访问aspx页面时发生错误),我不确定它是否是64位系统特定问题?
Sys.WebForms.PageRequestManagerServerErrorException: unregistered OLE DB access interface "Microsoft.Jet.OLEDB.4.0"
StringBuilder sb = new StringBuilder();
sb.AppendLine("select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=" + s_path.Trim() + "',sheet1$) where name is not null"); //e:\\test1.xls
DataSet ds = SqlUtil.ExecuteDataset(Database.StrConn, CommandType.Text, sb.ToString());
if (ds.Tables[0].Rows.Count > 0)
{
GridView_Tlinkmans.DataSource = ds;
GridView_Tlinkmans.DataBind();
}
答案 0 :(得分:2)
您有一两个问题:
您正在SQL Server中查询OPENROWSET,而您有x64 SQL Server,可能需要MDAC to bridge SQL Server to ODBC/OLEDB。但是,这表明它是Win 2008+操作系统的一部分。我必须在Win 2003上安装
然后你可能需要这个最接近我知道的JET:Microsoft Access Database Engine 2010 Redistributable
YMMV