获得从外部数据库驱动程序的意外的错误(1)从Excel导入数据时访问(getting an Unex

2019-07-29 06:09发布

我有一个2010 Excel file与跨越片34864 rows1387 columns 。 我试图将其导入到Access 2010使用导入向导,但是当我选择表,访问去反应迟钝,并且在几秒后给了我一个

“从外部数据库驱动程序(1)意外的错误”

这是由于纸张的大小或者是有什么在从工作停止它的细胞。 从没有问题的同一文件导入其他表。

Answer 1:

您可以在安装安全补丁KB4041681后出现这种错误。 看到这个MSDN项。 在我的情况下,更换Microsoft.Jet.OLEDB.4.0与供应商Microsoft.ACE.OLEDB.12.0帮助。



Answer 2:

看看这个对于Access 2010规格: http://office.microsoft.com/en-us/access-help/access-2010-specifications-HA010341462.aspx 。

根据你的情况,这可能是列数,所以尽量先导入小于255。 此外,它可能是在列或数据类型(文本导入数字等)的数据的大小



Answer 3:

我刚刚经历了这个问题太,发现一个很简单,简单的解决方案。 我发现我的电子表格中有一个自定义名称,所以我决定去看看,如果这是造成问题的原因。 我把它改为“工作表Sheet1”的默认名称,果然,它的工作!



Answer 4:

下载并安装Microsoft Access数据库引擎2010可再发行组件,然后修改在Microsoft Excel数据库连接字符串使用ACE作为一个供应商。

变化(例如):

Provider=Microsoft.Jet.OLEDB.4.0

至:

Provider=Microsoft.ACE.OLEDB.12.0.

微软正在努力寻找一种解决并提供在即将发布的更新。



Answer 5:

用这个

OleDbConnection conObj = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\a.XLS;Extended Properties=Excel 8.0;")

代替本

OleDbConnection conObj = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\a.XLS;Extended Properties=Excel 8.0;")


Answer 6:

您的Excel工作表保存到一个“逗号分隔” .csv文件,然后将其上传为文本文件。 对我来说,这工作正常。

问题是,以.xls(x)的所有种类的布局设计问题都存在。 转换成.CSV删除所有布局设计相关的标记,并将其转换成在“原始”的数据。

祝一切顺利!



Answer 7:

随着RHiggins答案的线路:

在我的情况喷气OleDb.4.0抛出这个错误(oledbconnection.open()),因为在工作簿(.xls的)一个工作表的名称太长。



Answer 8:

在我的情况下,电子表格链接到另一个电子表格。 我是进口原片的子集。 我创建了一个新的工作表,并通过柱到记事本,然后为新的片材移除的链接复制的数据列。 有东西在其中是造成问题的链接。
BTW:这是这一组数据,因为我做这个导入序列从这个电子表格到这个数据库的50倍以上。 减半为数据的第一(较大的)一半的数据的工作,但不用于第二。



Answer 9:

嗨,我也面临这样的错误,当进口.xlsb文件。 从那以后,我复制内容到其他xlsx档案然后导入这个xlsx档案。



Answer 10:

从XLSB文件导入时,将文件保存为XLSX文件,然后导入我得到这个错误,应该工作



Answer 11:

被发现的另一个问题是,如果Excel文件保存为二进制Excel工作表只是重新保存为Excel工作簿,它加载的罚款。



Answer 12:

我有完全相同的错误。 电子表格是从另一个软件(SAP)创建的。 因为它不是由Office创建时,Excel无法读取它(!?!)。 我在Excel中打开它们,保存它,然后在访问加载它和它的作品! 至于最坏的情况下,假设你有几十个文件,你可以只打开和导入之前VBA代码关闭它们。



Answer 13:

我有同样的问题,得到在Windows7这个错误发生安全更新后。 我们有太多的Excel文件,所以我决定尝试其他的方法来进行开/关操作。

1 - 返回一个还原点时访问工作得很好:它没有我的情况下工作。 在软件配置唯一的变化是一个安全更新,它似乎安全更新仍然引起问题。

2 - 减少行,列等:它没有对我的工作; 访问第一次尝试文件达到了10,000行,减少这种行3不是解决办法。

3-试图修改连接字符串:它没有工作对我来说,这不是很合理的为好; 连接已经工作了多年,突然间为什么会停下来? 在某些情况下,它但不是这个时候。

4-卸载最新的安全更新,在我的情况下工作了。 这里是卸载安全更新。

卸载安全更新的屏幕截图

祝你好运与解决。



Answer 14:

解决Windows 7的:

卸载安全更新KB4041681和KB4041678两个(相关到Excel和Jet / ACE提供商)



Answer 15:

解决这个问题的时候已经为我工作一个解决方案是让地方在进出口发生的事情正在执行打开导入/导出Excel文件。

这个问题似乎是由补丁防止数据事务由封闭.xls文件等外部数据库的应用程序之间发生的造成的。 具有excel文件开放解决了这个问题。

下面的一些示例代码例子强调什么可行,什么不可行用VBA:

失败

wbTarget.SaveAs strFilename, xlExcel8
wbTarget.Close    
ExportSheetToDB strFilename, strSheetName, "tblTemp"

作品

wbTarget.SaveAs strFilename, xlExcel8
ExportSheetToDB strFilename, strSheetName, "tblTemp"
wbTarget.Close


Answer 16:

在我的情况(我有同样的错误)问题是,我有Access数据库存储了跑出来的空间(没有足够的自由空间,进口完成) 的网络驱动器上 。 我腾出空间,压缩数据库; 错误没有再次出现。



文章来源: getting an Unexpected error from external database driver (1) when importing data from excel to access