SQL Server表导出到Excel问题

时间:2010-12-31 07:10:16

标签: c# asp.net .net sql-server-2008 visual-studio-2008

我正在使用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();
            }

1 个答案:

答案 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