C# SQL Server表导出到Excel问题

C# SQL Server表导出到Excel问题,c#,asp.net,.net,sql-server-2008,visual-studio-2008,C#,Asp.net,.net,Sql Server 2008,Visual Studio 2008,我正在使用64位Windows Server 2008和SQL Server 2008。并使用VS2008+C++.NET2.0+IIS7.0+ASP.Net。执行以下语句时,我遇到以下错误(错误发生在访问aspx页面时),我不确定这是否是64位系统特定的问题 Sys.WebForms.PageRequestManagerServerErrorException: unregistered OLE DB access interface "Microsoft.Jet.OLEDB.4.0"

我正在使用64位Windows Server 2008和SQL Server 2008。并使用VS2008+C++.NET2.0+IIS7.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();
            }

您有一个或两个问题:

您正在SQL Server中查询OPENROWSET,并且您有x64 SQL Server,您可能需要。然而,这表明它是Win2008+操作系统的一部分。我必须在Win2003上安装

那么你可能需要这个,这是我所知道的最接近JET的:


YMMV

你确定这在32位计算机上工作吗?我相信OleDB喷气式发动机仅为32位…感谢marc_s,当实现相同的行为时,64位平台的解决方案是什么?你有任何文件证明OleDB喷气发动机只适用于32位平台吗?@ArsenMkrt,当然。为什么要问这个问题?“MDAC将SQL Server连接到ODBC/OLEDB”对我来说是新概念。你有新员工的相关文件吗?从您提供的链接中,我找不到任何初学者教程。对于“Microsoft Access数据库引擎2010可再发行版”,它可以用来生成Excel文件吗?从名称看,它似乎是用于Access,而不是Excel:-)