Excelシート(2013-32ビット)にアクセスし、それをSQL Server 2014 SP2 64ビットのテーブルとして表示するクエリを作成しています。そして、私はこのエラーを受け取ります:
OLE DBプロバイダー "Microsoft.ACE.OLEDB.15.0"は登録されていません。
Access Runtime 2013および2010をインストールしようとしましたが、同じ問題が引き続き発生します。使用しているクエリは次のとおりです。
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.15.0',
'Excel 15.0;HDR=YES;Database=C:\SheetName.xlsx',
'SELECT * FROM [PayerList$]')
Microsoft.ACE.OLEDB.15.0
は、Access 2013ランタイムと共にインストールされるOLEDBドライバーの識別子です。 Excelと共にインストールされません。実際、Excelをインストールする必要さえありません。ランタイムが見つかります here
正しいランタイムバージョンをダウンロードするように注意してください。 64ビットプロセスは32ビットプロバイダーを使用できません。あなたの場合は、64ビットバージョンをダウンロードする必要があります。
Excelはまったく使用されないため、サーバーから削除する必要があります。
私は同様の問題に直面していました。プログラムプロパティをVisual Studioの[コンパイル]> [ターゲットCPU]をx86からx64(または任意のCPU)に変更しました。これは私のために働いた。私のマシンは64ビットで、プログラムはx86用に作成されています。
私はちょうど同じ問題を抱えていました。回避方法があり、ACE.OLDBをパッシブモードでインストールします。ただし、下記のファイルを削除/名前変更しないと、すべてのオフィスアプリケーションが起動するとすぐに初期セットアップメニューを実行し続けることになり、すぐに苦痛になります。
したがって、すべてはこのリンクで説明されています here 。次の投稿を探してください:2013年2月20日水曜日、Applied Maths NVによる編集3:35 PM 2013年2月21日木曜日、Dave Kolbによる回答として提案4:48 PM 2013年2月20日水曜日午後2時37分
ただし、頭を痛めるのではなく、古いバージョンのOfficeをアンインストールして64ビット版をインストールするだけで、64ビットドライバーも安心してインストールできます。