2017-10-12 154 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

等待或敦促微软(这是一个新问题)。它与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应用程序。只有微软知道肯定。 – Victoria

回答

-2

此问题是由Microsoft Office的最新更新引入的。目前没有其他解决方案。

3

在客户机器上,我卸载了上次Microsoft Patch附带的KB4041681(Windows 7)。 在我的机器上,我卸载了KB4041676(Windows 10)。 之后,Microsoft.Jet.OLEDB.4.0现在正在工作。

我希望微软很快就能修复这个bug。

+0

谢谢。我们目前还建议我们的客户卸载该补丁。 – Bram

+0

如果您的系统是Windows 8.1,则需要卸载KB4041693。 – Sashus

+0

@donhauro我有unmisatalled KB4041681(Windows 7),但仍然面临_“来自外部数据库驱动程序的意外错误”_。你能否建议我有其他替代方案? – Madhuri

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; 完成此更改后,您将不得不在客户机器上安装来自link的2007 Office System Driver:Data Connectivity Components。

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 \发动机\ EXCEL \ WIN32从步骤指向位置2

1

我有2个应用程序相同的发展问题由我自3年(C#和Java)。 自2017年10月10日以来,我无法出口到Excel 2003,但2007年工作,并且无法从Excel 2003导入,但2007年也为导入工作。

在ArcGIS Desktop 10.5.1中通过ESRI(一种最流行的地理处理软件)无法打开excels 2003和.mdb文件。

临时解决方案:卸载Windows 8.1中的KB4041693,KB4041687(可能用于w10)。

在这两个路径的微软更新记录中都提到了有关“Microsoft Jet的更新和安全更新”的内容。 卸载并重新启动后,所有软件都将恢复正常。

此问题是在2017年10月10日推出的。 在微软论坛上报告了这个问题(kb4041693应该“修复”它,但仍然不起作用)。 也许在几周内他们会(正确)处理这个问题。

0

对于我来说,它的工作步骤如下:

PS:我们有一个Windows Server 2008R2

1 - 下载并安装这个:https://www.microsoft.com/en-us/download/details.aspx?id=23734 2 - 打开.dtsx程序文件并更改您的Excel连接。在属性对话框中,单击ConnectionString属性中的三个点并将其更改为Microsoft Excel 2007.这会自动将连接字符串更改为: Provider = Microsoft.ACE.OLEDB.12.0; Data Source = {YOURPATH}; Extended属性=“Excel 12.0 XML; HDR = YES”; 3 - 我们的一些.dtsx文件指向一个配置文件(通常具有.dtsConfig扩展名)。我也改变了这些人指向正确的提供者(几乎复制和粘贴从Visual Studio获得的连接字符串)

之后,我再次运行SQL作业,它工作正常。

0

如果您正在使用SSIS包,那么请在Excel源或Excel目标中将您的Excel工作表版本2003更改为2007.一般而言,此问题归因于excel版本。

0

我有同样的问题。在Excel目标中更改了Excel 2007。有效。这与更改提供程序= Microsoft.ACE.OLEDB.12.0相同。

相关问题