无法通过 OleDb 读取大小超过 ~1mb 的 xlsx 文件

2024-03-01

我想使用 sql 批量复制来加载数据*.xlsx文件到数据库。但是,当文件大小超过大约 1mb 时,我遇到了问题。当我尝试打开时OleDbConnection我收到一个错误

No error message available, result code: E_FAIL(0x80004005)

有人对这种行为有想法吗?

附:如果文件大小小于上面提到的,一切都会按预期进行。

string connString = connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;";

// Create the connection object 
OleDbConnection oledbConn = new OleDbConnection(connString);
// Open connection
oledbConn.Open();
// Create OleDbCommand object and select data from worksheet
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [" + WorkSheetName + "$" + DataRange + "]", oledbConn);
OleDbDataReader dr = cmd.ExecuteReader();

string ProfDbBulkCopyConnString = ConfigurationManager.ConnectionStrings["DbBulkCopyConnString"].ToString();
SqlBulkCopy sb = new SqlBulkCopy(ProfDbBulkCopyConnString);
sb.ColumnMappings.Add("Status", "ActionStatus");
sb.ColumnMappings.Add("Process", "ProcessExec");
sb.DestinationTableName = "dba.Execute";
sb.WriteToServer(dr);

只是修复的简要描述。欲了解更多信息,我建议访问:

  • https://social.msdn.microsoft.com/Forums/en-US/4d1eeb6d-436d-4595-8645-fde90b2f9b18/oledb-error-opening-large-excel-2007-files-on-web-server?forum= adodotnet数据提供商 https://social.msdn.microsoft.com/Forums/en-US/4d1eeb6d-436d-4595-8645-fde90b2f9b18/oledb-error-opening-large-excel-2007-files-on-web-server?forum=adodotnetdataproviders
  • 导出到 Excel 电子表格 (XLSX) 失败 https://stackoverflow.com/questions/23788972/export-to-excel-spreadsheet-xlsx-failing
  • 当有 166,110 行时,Microsoft ACE OLEDB 连接创建空 Excel https://stackoverflow.com/questions/10521782/microsoft-ace-oledb-connection-creating-empty-excel-when-there-are-166-110-rows

本质上,xlsx 格式是某种带有一堆 xml 文件的 zip 存档。因此,首先 ACEOLEDB 提供程序尝试将所有数据直接解压缩到内存缓冲区,但在大型 xlsx 文件提供程序无法将所有数据解压缩到内存缓冲区的情况下,它强制在硬盘驱动器上创建临时文件。如果用户无权访问硬盘驱动器上的 Content.MSO 文件夹,则会出现上述问题。 文件夹路径取决于您的环境。就我而言,它是 C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.MSO(64 位 Windows Server 2008 R2 上的 32 位驱动程序)。 因此,授予用户“IIS AppPool\DefaultAppPool”对 Content.MSO 的访问权限,问题就会消失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法通过 OleDb 读取大小超过 ~1mb 的 xlsx 文件 的相关文章

  • C# 中类似图的实现

    所以我有一个对象 我们称之为 Head 它有一个对象列表 C C1 C2 C3 T T1 T2 和 M M1 M2 并且所有这些都是相互关联的 例如 Head gt C1 C2 C3 T1 T2 M1 M2 T1 gt C1 C2 T2 g
  • Winform DatagridView 数字列排序

    我只使用一个简单的 DataGridView 来保存一堆数据 有趣的是 我在特定列中有小数 但是当按小数列排序时 它的排序是错误的 例如 起始顺序可能是 0 56 3 45 500 89 20078 90 1 56 100 29 2 39
  • 预编译头和 Visual Studio

    有没有办法设置 Visual Studio 解决方案参数 以便它只创建预编译头而不构建整个解决方案 具体来说 它是一个巨大的 C 解决方案 本身有许多项目 谢谢 仅选择 pch 创建者源文件 通常是 stdafx cpp 然后编译该文件 C
  • 选择initializer_list迭代器定义

    Why std initializer list
  • 从内存流播放视频文件

    只是好奇看看这是否可能 我有一个 Windows 应用程序 它从我的电脑上的 avi 文件读取所有字节 然后将其存储在 byte 中 现在我的内存中有 avi 文件 我想直接从内存将其加载到某种视频播放器控件中 我尝试过使用 wmplaye
  • 如何调试.NET Windows Service OnStart方法?

    我用 NET 编写的代码仅在作为 Windows 服务安装时才会失败 该故障甚至不允许服务启动 我不知道如何进入 OnStart 方法 如何 调试 Windows 服务应用程序 http msdn microsoft com en us l
  • 即使在 Excel 2007 中插入行时也保持绝对引用

    我有一个电子表格 我希望单元格公式始终查看特定单元格 即使插入行或列并且特定单元格移动也是如此 实际上 我总是想查看表格的 顶部 单元格 即使在表格顶部插入了新行 例如 单元格 A2 的公式为 E 2 现在我突出显示第 1 行并执行 插入行
  • 原子存储抛出错误

    我最近升级到了 C 11 兼容编译器 并且尝试将一些代码从 boost 更新到 c 11 标准 我在使用atomic store转换一些代码时遇到了问题 这是一些简单的测试代码 似乎会引发编译器错误 int main std shared
  • Windows 上本机 C++ 应用程序中的自动死代码检测?

    背景 我有一个用原生 C 编写的应用程序 花了几年的时间 大约有 60 KLOC 有很多函数和类已经死了 可能有 10 15 就像下面提出的类似的基于 Unix 的问题 我们最近开始对所有新代码进行单元测试 并尽可能将其应用于修改后的代码
  • 使用 dateTimePicker 在 DataGridView 中编辑日期

    我有一个DateTime我的 WinForms 中的专栏DataGridView 目前只能通过手动输入日期来编辑该字段 例如 2010 09 02 需要什么才能拥有一个DateTimePicker 或同等 用作编辑器 DataGridVie
  • 如何禁用基于 ValidationRule 类的按钮?

    如何禁用基于 ValidationRule 类的 WPF 按钮 下面的代码可以很好地突出显示 TextBox
  • 在 C# .NET 中对非 ASCII 字符进行编码

    我想向我的应用程序发送的电子邮件添加自定义标头 标头名称只能包含 ASCII 字符 但对于值和用户可能会输入 UTF 8 字符 我必须对它们进行 Base64 编码 此外 我还必须将它们解码回 UTF 8 以便在 UI 中向用户显示它们 最
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • 意外的 const 引用行为

    include
  • 实体框架读取列但阻止其更新

    给定一个数据库表 其中有一列包含历史数据但不再填充 实体框架中是否有一种方法可以读取该列 但在使用相同的模型对象时防止它被更新 例如我有一个对象 public class MyObject public string CurrentData
  • 使用任务的经典永无止境的线程循环?

    给出了一个非常常见的线程场景 宣言 private Thread thread private bool isRunning false Start thread new Thread gt NeverEndingProc thread S
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • C# PasswordDeriveBytes:似乎 Salt 并不重要

    可能我误解了什么 以下代码通过 CryptDeriveKey 使用两种不同的盐生成两个相等的密钥 这是控制台结果 盐1 21 3e 18 a3 9a 8b 5f gt 键 da 89 ea 3d 91 08 20 98 20 e9 dc 4
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir
  • 列表框:添加组合框作为项目?

    是否可以将列表框的每个项目都作为组合框 我需要这个 因为我将列表框设置为可检查 然后我需要让用户从列表中每个元素的不同选项中进行选择 Thanks 如果您不打算分发您的应用程序 那么您还可以查看 TreeView 控件 请参阅此示例 COD

随机推荐

  • 在 apache 模块中转换 PHP 类

    我在 php5 中编写了一个复杂的系统 许多类使用静态方法并包含其他文件 现在我想分发 ant 我会选择模块方式 所以我喜欢创建一个像 myFramework so 这样的模块并将其包含在 Apache 中 也许 之后 当我编写一些 php
  • Angular AOT 和 Rollup - 未捕获的 ReferenceError:未定义导出

    我正在尝试实现 Angular 的 AOT 教程 https angular io docs ts latest cookbook aot compiler html https angular io docs ts latest cook
  • 比较匹配器在混合数字类型上失败

    在普通 Scala 中 以下断言通过 assert 1D gt 0F assert 1F gt 0 assert 1L gt 0 assert 1 gt 0 toShort assert 1 toShort gt 0 toChar 然而 S
  • XSLT 连接字符串,删除最后一个逗号

    我需要使用 XSLT 构建一个字符串 并用逗号分隔每个字符串 但在最后一个字符串后面不包含逗号 在下面的示例中 如果我有 分发 节点而不是 注释 节点 那么我将有一个尾随逗号 我不知道如何构建一个字符串作为变量 然后截断 XSLT 中的最后
  • 让php将句子分解为单词

    我可能误解了文档 但是当我编码时 explode here s a sentence 2 我最终 Array 0 gt here s 1 gt a sentence with a few words in it 有没有办法让爆炸回来 Arr
  • 为什么这段 PHP 代码只回显“Array”?

    这是我的代码 if isset POST check AND POST check First errormessage array if empty POST full name strlen POST full name lt 4 er
  • Windows服务“自托管”WCF:压缩?

    在 IIS 中使用 WCF 压缩我可以找到文档 但它面向使用 IIS 功能 我可以找到人们谈论他们如何编写自己的压缩处理程序 但这一切看起来都很定制 是否有压缩 WCF 的最佳实践 我们正在使用 http 绑定 编辑 将其设置为维基 没有任
  • Dart 中的字符串文字类型类似物

    我知道在 Dart 中没有字符串文字类型 例如 interface IButtonProps readonly variant primary secondary readonly size small regular big a litt
  • 以编程方式添加来自 Laravel 包的 CSRF 检查的异常

    问题简而言之 我正在寻找一种方法来删除VerifyCsrfToken来自包内的全局中间件管道without用户必须修改App Http Middleware VerifyCsrfToken 这可能吗 用例 我正在开发一个包 可以轻松地将推送
  • 查询 DynamoDB

    我有一个 DynamoDB 表 其中一个字母数字字符串作为哈希键 例如 d4ed6962 3ec2 4312 a480 96ecbb48c9da 我需要根据表中的另一个字段查询表 因此我需要查询来选择所有键 例如我的字段 x 位于 dat
  • 发生托管异常时“无可用源” - WPF Visual Studio 2010

    由于某种原因 我的 Visual Studio 2010 没有在我自己的代码上加载调试符号 我正在使用默认的 WPF 应用程序解决方案 使用我正在开发的示例 WPF 应用程序 并在调试模式下运行 当我进入调试状态时 我可以单步执行我的代码
  • Spark zipWithIndex 并行实现安全吗?

    如果我有一个文件 并且每行做了一个 RDD zipWithIndex row1 id1001 name address 0 row2 id1001 name address 1 row100000 id1001 name address 1
  • 无法从袜子确定袜子版本

    使用代理连接 HTTP 代理 10 3 100 207 端口 8080 使用python请求模块get函数 出现以下错误 无法从socks 10 3 100 207 8080 确定SOCKS版本 Try export all proxy s
  • 上传大文件到ftp C#

    我正在使用此代码将大文件上传到 ftp 站点 Code using FileStream fs new FileStream FileLoc FileMode Open FileAccess Read string ftpUrl strin
  • 升级到jetty-9.3.3后JSP编译错误

    我有一个在嵌入式 Jetty 7 6 8 jdk 6 上运行的 webapp 应用程序 但由于浏览器上的 Diffie Hellman 错误 我们决定迁移到较新版本的 Jetty 因此 我们迁移到 Jetty 9 3 3 由于Jetty 9
  • Hibernate 问题 java.lang.Boolean 无法使用 JDK 1.7 转换为 java.lang.String

    我面临着 Hibernate 的问题 使用 Hibernate 3 2 6 和 JDK 1 7 0 21 这个问题是由于 JDK 与 Hibernate 版本的兼容性造成的吗 这个问题是随机的 我仍然无法找到重现的步骤 2014 07 14
  • 如何为对象集合生成唯一的哈希值,而与它们的顺序无关[重复]

    这个问题在这里已经有答案了 假设我有课 public class MyClass public string Type get set public int Id get set 我有一个集合类 它只是一个强类型列表 public clas
  • 在Naoqi 2.5中的pepper平板电脑上安装Android应用程序

    我想使用 NaoQi 2 5 在 Pepper 上安装 Android 应用程序 为了实现这一点 尝试使用 AlTabletService 的隐藏方法 installApk 我在android studios中构建了一个APK并将其部署在p
  • 以无边框形式绘制夹具

    所以我有一个无边框表单 我需要调整它的大小 通过单击 4 个边或角中的任何一个 澄清一下 我希望我的表单像 Windows 7 中的默认便签一样无边框 通过使用 Julien Lebosquain 在这篇文章中提供的代码 我已经让它可以工作
  • 无法通过 OleDb 读取大小超过 ~1mb 的 xlsx 文件

    我想使用 sql 批量复制来加载数据 xlsx文件到数据库 但是 当文件大小超过大约 1mb 时 我遇到了问题 当我尝试打开时OleDbConnection我收到一个错误 No error message available result