问题标签 [aceoledb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
460 浏览

sql-server - 为什么使用 .xlsx (Microsoft Excel 2016/2013/2010) 文件进行数据导入,而不是将 .xlsx 保存为 .xls(Microsoft Excel 97-2003)?

/* 这个问题是信息性的。我不得不将其作为问题发布,因为我无法在其他人对与以下 3 个错误相关的问题的回复下发表评论。这些错误发生在 SSIS 和 SQL Server 导入和导出向导中。*/

  1. 'Microsoft.ACE.OLEDB.16.0' 提供程序未在本地计算机上注册。(系统.数据)
  2. 'Microsoft.ACE.OLEDB.15.0' 提供程序未在本地计算机上注册。(系统.数据)
  3. 'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册。(系统.数据)

作为对这些错误的补救措施,有些人建议将 Excel 文件保存为 .xls(Microsoft Excel 97-2003),错误就会消失。好吧,它会消失,但会以数据丢失为代价。请阅读下面的答案...

0 投票
0 回答
319 浏览

sql-server - 具有多个 Excel 连接的 SSIS 包无法通过 SQL 代理作业工作

我有一个带有 6 个 DFT 的 SSIS 包。每个 DFT 都连接到 EXCEL(connection string -Provider=Microsoft.ACE.OLEDB.16.0;Data Source=ABC:\xyx.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES";)作为源,连接到 sql server 作为目标。我的开发盒和产品盒中都安装了 ACE.oledb.16.0 驱动程序。
当我从 SSDT 运行包时,它运行成功。
但是当我试图通过工作运行它时,我收到了一个奇怪的现象。
成功执行 2/3 DFT 后作业失败(是的,有时第 3 个 dft 不运行,最后 3 个 DFT 不执行)并且作业失败并出现错误

消息以用户身份执行:user1。该步骤没有产生任何输出。返回值未知。进程退出代码为 -529697949。步骤失败。

当我禁用前 3 个任务并通过作业运行时,程序包成功执行最后 3 个 dft。
由于某种原因,所有 6 个 DFT 都没有在一次运行中执行。使用上面提供的错误消息进行调试非常困难,您能帮我输入任何内容吗?

这种行为不是因为任何编码部分。它通过包 SSDT 运行得非常好。

0 投票
1 回答
283 浏览

excel - Ace oledb 连接关闭文件仍在使用错误

最近我在 Excel 2016 上遇到了一个问题。在我关闭 excel 2016 环境中的连接字符串后,系统仍然锁定 excel 无法编辑(比如正在使用的文件)。但代码在 excel 2007 和 2010 环境中运行良好(连接关闭后,该文件已准备好供我的下一个功能打开和编辑)。

在 excel 2016 环境中,文件似乎需要在自动解锁后锁定 75 秒,但在 excel 2007 和 2010 环境中不会发生这种情况

我应该在哪里改变它?

0 投票
1 回答
184 浏览

vb.net - 为什么 Access 数据库引擎会给出一个奇怪的错误?

以下代码因此错误而崩溃:

System.Data.OleDb.OleDbException:'参数太少。预计 1'

如果我对 Access 数据库引擎安装进行修复,则错误会消失一天。
同样的事情发生在多台运行不同版本 Windows 的机器上。
这个问题开始于大约 2 周前。

有人知道发生了什么吗?

0 投票
0 回答
930 浏览

excel - Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册 - 32 位办公室错误

我对这个错误感到疯狂:

在此处输入图像描述

我遇到了一个类似的线程,但找不到适合我的情况的解决方案: 'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册

我正在使用 Excel 中的电源查询并连接到本地 Access 数据库。

在上述消息之后,我安装了 Microsoft.ACE.OLEDB.12.0' 32 位(AccessDatabaseEngine.exe),但是当在 Excel 中刷新查询时,我得到了这个更严重的错误:

在此处输入图像描述

这是我的excel版本:

r

编辑:正如我建议的那样,我为 2016 年安装了 Access Engine,但我现在得到了这个进一步的错误:

在此处输入图像描述

0 投票
0 回答
90 浏览

asp.net - 在 ASP.NET Excel .con() 函数调用期间未找到 Microsoft ACE OLEDB 12.0

目前,我的 Web 应用程序无法将 Excel 工作表上传到 SQL Server 数据库,因为错误:

'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册。

尝试 excel 连接时抛出,例如:

我不知道为什么在我的 Web 应用程序上引发此错误,因为我正在运行 64 位 IIS Express 8.0 并在计算机上安装了 64 位 Microsoft Access Engine。我对 64 位 IIS Express 正在寻找 64 位 Microsoft ACE OLEDB 的理解错了吗?

有人可以帮助我了解在这种给定场景中可能导致此错误的原因吗?谢谢您的帮助。

0 投票
1 回答
58 浏览

sql-server - SSIS 包通过凭据帐户失败

我有一个包,它使用 ace.oledb.12.0 驱动程序从 excel 加载数据到 SQL 服务器(运行 SQL 代理服务的同一台服务器。)。

当我使用基础结构服务帐户从 SQL 代理运行此步骤时,它成功了。当我使用凭证帐户运行此步骤时,它会将作业作为失败“意外终止”而停止。

有趣的是,当从基础设施服务帐户和凭据帐户运行时,这对于数据大小低(100kb-300kb)的文件运行得非常好。

但是对于我当前大小为 4.5 mb 的文件,它通过凭据帐户失败。

有没有办法可以捕捉到工作被终止的原因?

0 投票
1 回答
59 浏览

vb.net - 刚刚通过 WiFi 连接的 MS Access 数据库发生 System.AccessViolationException

我正在为我的公司开发一个桌面应用程序(实际上它只是一个原型),用于为生产部门提供简单的服务(工具和流程说明、存在记录、产品可追溯性等)。我正在使用 VB.net 和 wpf;一些 MS Access 数据库是后端。它使用 Access 数据库引擎 2016。

我有一个用于更新数据库记录的简单函数,如下所示:

有时应用程序在主线程中使用这个函数;有时它会从计划任务中运行它(由 forms.timer 每两分钟计时)。这些任务显然不在主线程中,但代码已经成功使用了几个月,计算机通过 LAN 电缆直接连接到公司网络。最近,我在通过 wifi 连接到公司网络的笔记本电脑上尝试了我的应用程序,但我遇到了一个导致我的应用程序崩溃的异常。我在那台笔记本电脑上安装了 VS 来调试代码,我发现在“ CommandUpdate.ExecuteNonQuery ”行上引发了 AccessViolationException“。我试图用谷歌搜索它,但似乎不应从托管代码中引发此异常。该错误仅在通过 wifi 连接的笔记本电脑时发生。此外,另一个函数从数据库中读取数据:有时我会遇到同样的错误, 在打开连接的行 (connection.open)。

我应该检查什么?

提前致谢。

ps "ConnectionSelector" 是一个简单的函数,它根据数据库编号返回适当的 ConnectionString。

编辑 1 - 使用普通无线路由器直接从实际有线网络插入 LAN 电缆创建 WiFi 网络。IP 地址是自动分配的,并且连接正常,因为该应用程序能够从数据库中获取数据。

0 投票
0 回答
3001 浏览

sql-server - OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”尚未注册

我正在尝试将 Excel 文件导入 SQL Server,因为我决定使用 OPENROWSET。

我已经完成了以下步骤:

步骤1:-

第2步:-

第三步:-

第4步:-

在这里我得到这样的错误

“OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”尚未注册。”

但最重要的是,执行的所有步骤都没有任何错误。

当我在下面运行这个查询时

我在列表中找不到“Microsoft.ACE.OLEDB.12.0”。 在此处输入图像描述 服务器配置打击:操作系统:Windows Server 2016 - 64 位 SQL:Sql Server 2017

我按照上述步骤工作的方式相同,可以在 2 个不同的服务器上正常工作。

请帮我解决这个问题。

0 投票
1 回答
610 浏览

sql-server - 并非所有行都是使用 SQL Server 中的 OPENROWSET 从 Excel 文件中导入的

我有一个 47 列和 14K 行的 Excel 表。我将这些数据导入 SQL Server OPENROWSET

但是,只导入了 5138 行。一段时间后,导入的行数减少到 5052,即每次 - 不同的行数。但是,当我使用 时Tasks -> Import Data...所有行都成功导入。这种行为的原因是什么?

我正在使用 SQL Server 2017 14.0.3356.2。