2017-10-12 38 views
5

10月10日のWindowsのアップデート以降、ODBC Excelドライバが動作しなくなりました。次の接続文字列を使用してADO接続を使用して、「(1)外部データベースドライバからの予期しないエラー」 ODBC Excelドライバ:外部データベースドライバから予期しないエラーが発生しました。

私たちは、DelphiでExcelファイルを開く

:私たちは、ファイルを読み込むしようとすると、次のエラーを取得します:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"; 

私はそれがMicrosoft.ACE.OLEDB.12.0に切り替えることにより、仕事を得ることができ、それが動作するために、すべてのお客様は、彼らが使用するすべてのコンピュータ上のMicrosoft Accessデータベースエンジンの再頒布をインストールする必要があります私たちのソフトウェアは。

他に解決策や回避策がありますか?前もって感謝します。

+0

Microsoft(これは新しい問題です)を促します。それはDelphiとは関係ありません。私はあなたが[このスレッド]に投稿したと思います(https://social.msdn.microsoft.com/Forums/sharepoint/en-US/2feac7ff-3fbd-4d46-afdc-65341762f753/odbc-excel-driver-stopped -working-with-unexpected-error-from-external-database-driver-1?forum = sqldataaccess)、そうでしたか? – Victoria

+0

はい、それは私でした。私はそれがDelphiとは関係がないと考えていましたが、誰かがDelphi固有のソリューション(代替コンポーネントやFireDACなど)を持っている可能性があります。 – Bram

+0

まあ、ほとんどの代替ODBCドライバです。また、問題がドライバかAccessアプリケーションかどうかはまだはっきりしていません。 Microsoftだけが確かに知っている。 – Victoria

答えて

-2

この問題は、Microsoft Officeの最新の更新プログラムによって導入されました。現時点では代替ソリューションはありません。

3

お客様のコンピュータで、私は最後のMicrosoftパッチに付属しているKB4041681(Windows 7)を削除しました。 私のマシンでは、KB4041676(Windows 10)を削除しました。 その後、Microsoft.Jet.OLEDB.4.0が動作しています。

すぐにマイクロソフトがこのバグを修正することを願っています。

+0

ありがとうございました。現在、パッチを削除するようにお客様に依頼しています。 – Bram

+0

システムがWindows 8.1の場合、KB4041693を削除する必要があります。 – Sashus

+0

@donhauro私はKB4041681(Windows 7)をインストールしていませんが、依然として_ "外部データベースドライバからの予期しないエラー" _に直面しています。他の代替案を教えてもらえますか? – Madhuri

1

解決策が1つあります。 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\MyExcel.xls; Extended Properties=\"Excel 12.0;HDR = YES; に置き換えます。この変更後、2007 Office System Driver:データ接続コンポーネントをlinkからお客様のマシンにインストールする必要があります。 HERE

0

がソリューションです...私は別のフォーラムでそれを発見し、私のために完璧に動作... それは次のように述べたように、100%

の作品は以下となります。

https://forums.embarcadero.com/thread.jspa?messageID=902557&tstart=0

https://forum.kanors-emr.org/showthread.php?tid=571&pid=2652#pid2652

KB4041681は、msexcl40.dllのバージョン4.0.9801.1をインストールします。

  1. 別のディレクトリにmsexcl40.dll

  2. 場所の前のバージョン(4.0.9801.0)を検索します。彼らはアプリケーションディレクトリを示唆していますが、次のステップではこの古いバージョンを指すようにレジストリを変更するので、おそらくどこにでも行くことができます。

  3. 更新レジストリキーHKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432NODE \マイクロソフト\ジェット\ 4.0 \エンジンエクセルの\ win32の\ステップ2.

1

から場所を指すように私が開発した2つのアプリケーションと同じ問題を抱えていました私は3年(C#とjava)以来。 10-oct-2017以来、私は2003年をExcelにエクスポートすることはできませんでしたが、2007年は機能し、Excel 2003からインポートできませんでしたが、2007年はインポートにも役立ちました。

ArcGIS Desktop 10.5.1 ESRI(地理的処理に最も一般的なソフトウェア)によって、Excel 2003および.mdbファイルを開くことができませんでした。

一時的な解決策:Windows®8.1のKB4041693、KB4041687(おそらくw10の場合)をアンインストールします。

両方のパスの変更履歴は、「更新プログラム[...]とマイクロソフトのセキュリティ更新プログラム」について何か言います。 アンインストールして再起動すると、すべてのソフトウェアが再び正常になります。

この問題は、10-oct-2017で導入されました。 マイクロソフトのフォーラムでは、この問題が報告されています(kb4041693は「修正」しても問題ありません)。 ほんの数週間で、彼らは(適切に)この問題を解決します。私にとって

0

が、それは以下の手順に従って働い:

PSを:私たちは、Windows Serverの2008R2

1持っている - これをダウンロードしてインストールします。https://www.microsoft.com/en-us/download/details.aspx?id=23734 2 - .dtsxファイルを開き、Excelを変更します接続。プロパティダイアログでConnectionStringプロパティの3つの点をクリックし、Microsoft Excel 2007に変更します。これにより、接続文字列が自動的に変更されます。 Provider = Microsoft.ACE.OLEDB.12.0;データソース= {YOURPATH};拡張プロパティ= "Excel 12.0 XML; HDR = YES"; 3 - .dtsxファイルの中には、設定ファイル(通常は.dtsConfig拡張子)を指すものがあります。私はまた、これらの人に正しいプロバイダを指すように変更しました(Visual Studioから入手した接続文字列をかなりコピーして貼り付けました)。

この後、SQLジョブを再度実行しました。

0

SSISパッケージを使用している場合、Excelシートバージョン2003をExcelソースまたはExcelデスティネーションで2007に変更してください。一般に、この問題はExcelバージョンによって発生します。

0

私は同じ問題を抱えていました。 Excelの宛先でExcel 2007を変更しました。出来た。これはプロバイダ= Microsoft.ACE.OLEDB.12.0の変更と同じです。

0

のアンインストールこれらの更新プログラム(お使いのOSに応じて)とあなたのコードは、通常

  • KB4041681の実行を開始します - Windows 7のSP1とWindows Server 2008 R2 SP1
  • KB4041690 -Windows Server 2012の
  • KB4041693 - Windowsの8.1およびWindows Server 2012 R2
  • KB4041678 - 私にとって、これは問題
でした

https://support.microsoft.com/en-in/help/4041678/windows-7-update-kb4041678

関連する問題