2010-12-31 11 views
0

64ビットWindows Server 2008をSQL Server 2008と共に使用しています。VS2008 + C#+ .Net 2.0 + IIS 7.0 + ASP.Netを使用しています。次のステートメントを実行すると、次のエラーが発生しました(エラーはaspxページにアクセスすると発生します)、64ビットシステム固有の問題かどうかわかりません。ExcelへのSQL Serverテーブルエクスポートの問題

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

:私は

が次にあなたがおそらくは、私の知っているJETに最も近い、これを必要とする2003年の勝利にインストールしなければなりませんでしたか? –

+1

私はOleDB JET Engineが32ビットのみであると信じています... –

+0

marc_sありがとうございます。同じビヘイビアを実装すると、64ビットプラットフォーム用のソリューションは何ですか? OleDB JET Engineを32ビットプラットフォーム専用にするためのドキュメントはありますか? – George2

答えて

2

あなたが1つのまたは2の問題があります:あなたは、SQL ServerでOPENROWSETを照会している

を、あなたがのx64 SQL Serverを持っている、あなたはMDAC to bridge SQL Server to ODBC/OLEDBが必要な場合があります。しかし、これはWindows 2008 +のOSの一部であると言います。あなたは、これは32ビットコンピュータ上で動作していることを確認しているMicrosoft Access Database Engine 2010 Redistributable

YMMV

+0

「SQL ServerからODBC/OLEDBにブリッジするMDAC」は私にとって初めてのものです。新人のための関連文書はありますか?あなたが提供したリンクから、私は初心者のためのチュートリアルは見つかりません。 – George2

+0

"Microsoft Access Database Engine 2010 Redistributable"では、Excelファイルを生成するために使用できますか?その名前から、それはExcel用ではなくAccess用であるように見えます。 :-) – George2