将巨大的 xml 参数传递给存储过程的最佳方法

2024-06-25

实际上我正在尝试通过一个巨大的Xml到我的存储过程,但我总是得到一个输出of memory exception,因为我想通过string其大小限制为 2G。那么这样的事情有没有办法呢。


不要使用XmlDocument- 将 DOM 完全加载到内存中将需要大约 10 倍于源文档的内存量。

Use XmlReader and XmlWriter, or XDocument如果您需要在将文档传递给 SQL 之前对其进行操作。这些之所以有效,是因为它们将进行流式处理(特别是 XmlReader/XmlWriter,它们针对 XML 数据的只进读取进行了大量优化),而不是尝试一次加载整个文档及其 DOM(如 XmlDocument)。

从文件加载格式良好的 XML:

command.Parameters.Add(new SqlParameter("@xmlParameterName", SqlDbType.Xml)
{
    Value = new SqlXml(XmlReader.Create("C:\\path\\to\\file.xml"));
});

从流中加载 XML 数据

Stream s;
// XML is in this stream
command.Parameters.Add(new SqlParameter("@xmlParameterName", SqlDbType.Xml)
{
    Value = new SqlXml(XmlReader.Create(s));
});

从 XDocument 加载:

XDocument xd = XDocument.Load/.Parse/etc....
command.Parameters.Add(new SqlParameter("@xmlParameterName", SqlDbType.Xml)
{
    Value = new SqlXml(xd.Root.CreateReader());
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将巨大的 xml 参数传递给存储过程的最佳方法 的相关文章

  • 部署 Visual Studio 2010 数据库项目

    我有一个 Visual Studio 2010 数据库项目 我想从中生成一个脚本 这只是将该数据库放到另一台机器上 问题是我找不到 对此的解决方案 当我开始这个项目时 我从开发电脑上的数据库导入了 shema 生成了架构对象 所有表和脚本都
  • 多态性中基类缺少虚拟析构函数 = 资源泄漏?

    我们知道 如果要多态地使用基类 则需要将基类的析构函数指定为 virtual 否则程序中可能会出现资源泄漏 因为只会调用基类析构函数 而不会调用派生对象析构函数 我们还知道构造函数 析构函数纯粹是初始化 未初始化构造 而operator n
  • Django 在第二个数据库上调用存储过程

    我试图在多数据库 Django 安装上调用存储过程 但没有获得结果 存储过程 位于辅助数据库上 在 Django 中始终返回一个空数组 但在 mysql 客户端中执行时确实会出现预期结果 My view py文件 从 SomeDBModel
  • 在 C/C++ 中绘制填充椭圆的简单算法

    在SO上 找到了以下绘制实心圆的简单算法 for int y radius y lt radius y for int x radius x lt radius x if x x y y lt radius radius setpixel
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示
  • 如果 .txt 文件不存在,则创建一个,如果存在则追加新行

    我想创建一个 txt 文件并写入它 如果该文件已经存在 我只想添加更多行 string path E AppServ Example txt if File Exists path File Create path TextWriter t
  • Linux C++ 调试器

    我正在寻找完美的 Linux C 调试器 我不期望成功 但搜索应该提供丰富的信息 我是一个非常有能力的 gdb 用户 但 STL 和 Boost 很容易压垮我的调试技能 并不是说我无法深入了解数据结构的内部结构 而是它需要很长时间 我通常会
  • 第三方引用的 dll 未被复制来构建

    我有一个第三方 net dll 被我的 dll 类库项目 A 引用和使用 我的控制台应用程序项目 B 引用项目 A 我的问题是第三方 dll 没有被复制到控制台应用程序项目 B 的构建中 这里有什么问题呢 我的 dll 类库中引用的第三方
  • OpenMP 循环数组访问中的错误共享

    我想利用 OpenMP 来并行执行我的任务 我需要将数组的所有元素减去相同的数量并将结果写入另一个向量中 两个数组都是动态分配的malloc第一个填充了文件中的值 每个元素都有类型uint64 t pragma omp parallel f
  • 使用非管理员帐户时,SQL Linked Server 返回错误“不存在登录映射”

    我有一个本地 SQL Server 2008R2 我已将链接服务器配置为远程数据库 当我使用 SQL 登录帐户登录本地服务器时 链接服务器工作得很好sysadmin服务器角色 我可以查询远程服务器 因此我知道链接服务器设置是正确的 但是 如
  • 如何在 C++ 中初始化嵌套类的构造函数

    我在初始化嵌套类构造函数时遇到问题 这是我的代码 include
  • 如何在Windows Azure上调用ffmpeg.exe转换音频文件?

    我在 Windows Azure 上运行 Web 角色来接收 AAC 音频文件 通过 base64 字符串上传 并将它们存储到 blob 中 现在效果很好 接下来 我还必须将它们转换为 MP3 并将 MP3 存储到 blob 中 我决定使用
  • 是否有理由为什么用 XmlInclude 修饰的基类在序列化时仍然会抛出类型未知的异常?

    我将简化代码以节省空间 但所提供的内容确实说明了核心问题 我有一个类 它的属性是基类型 有 3 个派生类可以分配给该属性 如果我将任何派生类分配给容器并尝试序列化容器 XmlSerializer 会抛出可怕的错误 类型 x 不是预期的 使用
  • Java XPath API - 获取表示子树的字符串

    我的问题不是关于 xpath 语法 而是与 xpath 周围的 java API 有关 考虑以下 xml
  • 为什么 ASP.Net MVC Range 属性采用类型?

    我只是想知道为什么范围验证属性可以采用类型和两个字符串作为参数 这是为了根据枚举或类似的东西验证字符串吗 另外 我想做的是找到一种简单的方法来验证必须出现在枚举中的 3 个字符的字符串 有什么建议吗 谢谢 亚历克斯 我确实发现你提到的 Ra
  • 如何通过 Excel 互操作对象自动调整列大小?

    下面是我用来将数据加载到 Excel 工作表中的代码 但我希望在加载数据后自动调整列的大小 有谁知道自动调整列大小的最佳方法 using Microsoft Office Interop public class ExportReport
  • SQL查询多个数据库

    我需要运行一个SELECT在 SQL Server 上查询并返回从同一服务器上的多个数据库中提取的信息 我有以下内容 可以工作 SELECT Name Nationality FROM dbtest dbo Staff WHERE Nati
  • 将 R 值传递给采用 L 值的函数时出现过载歧义

    我有 2 个重载函数 一个采用 L 值 另一个采用 R 值 目的是让该函数可以像这样调用 Obj obj foo obj OR foo Obj 所以 我写了2个重载函数 template
  • 在 C# 中为 ListBox 分配数据源时,如何从 ListBox 中删除所选项目?

    在 C 中为 ListBox 分配数据源时 如何从 ListBox 中删除所选项目 尝试删除时出现错误 设置 DataSource 属性后 无法修改项目集合 但是当我尝试从数据源 数据表 中删除项目时 它会抛出错误 因为 数据行不在当前行集
  • RC4 实现与 openssl 输出不匹配

    我的目标是在 C C 中实现 RC4 流密码 并确保它产生与使用时相同的输出openssl命令 按照伪代码维基百科 https en wikipedia org wiki RC4 该实现似乎有效 因为它可以加密和解密内容 但是 加密的输出与

随机推荐

  • @Binds 方法必须只有一个参数,其类型可分配给返回类型

    我正在迁移到新的 dagger android 2 11 所有设置都基于 Google 蓝图 MVP Dagger 但是我遇到了这个错误 错误 22 57 错误 Binds 方法必须只有一个参数 其类型可分配给返回类型 在这一行中 Acti
  • 为什么“this”解析在 JavaScript 中如此特殊?

    警告 首先是有问题的 JavaScript 代码 1 buggy counter problem this can be broken var Counter1 function this count 0 this increment fu
  • 为不同部分设置 rmarkdown 选项卡颜色

    我想用 Rmarkdown 创建一个 html html 应包含彩色选项卡 根据来自的答案这个问题 https stackoverflow com questions 55276670 coloring tabs in rmarkdown我
  • 使用 ELKI 对字符串数据进行聚类

    我需要使用 ELKI 基于编辑距离 编辑距离对大量字符串进行聚类 由于数据集太大 我想避免基于文件的预计算距离矩阵 我怎么能够 a 从文件 仅 标签 加载 ELKI 中的字符串数据 b 实现访问标签的距离函数 扩展 AbstractDBID
  • 在 Web.Scotty 中使用 StateT

    我正在尝试制作一个愚蠢的网络服务器 将数据存储为State 我在用着Web Scotty http hackage haskell org package scotty 我之前用过 ReaderT 和 scotty 来访问配置 https
  • 如何删除“其他用户”可安装触发器?

    有没有办法删除 其他用户 可安装的触发器 足够幸运地猜测要删除哪个用户只会显示他们的触发器已禁用 但仍然需要您登录他们的 Gmail 才能删除它 当您是电子表格的 所有者 时 这有点令人担忧 您无法删除其他用户的触发器 脚本的触发器与用户的
  • 对不同记录进行 PIVOT 查询

    我有下表 Id Code percentage name name1 activity 1 Prashant 43 43 James James Running 1 Prashant 70 43 Sam Sam Cooking 1 Pras
  • JQuery 移动表单在首次查看后丢失格式

    我在 JQuery mobile 中有一个页面 其中包含一个表单 该表单同时具有静态元素 在 html 中定义 和动态元素 在运行时通过脚本创建 我第一次访问我的页面时 它使用 JQuery 移动格式正确呈现 如果我回去 然后再次打开表单
  • Android MVVM startActivity 最佳实践

    我正在使用 MVVM 和 DataBinding 构建 Android 应用程序 我的 ViewModel 中有一个启动 Activity 的函数 在 ViewModel 中进行 onClick 调用可以吗 像这样 public class
  • C# 到 MySQL 服务器的 SSH 隧道

    我正在尝试编写一个简单的程序来连接到只能通过 SSH 连接的 MySQL 远程服务器 它报告 SSH 连接并且端口转发 但随后声明它无法连接到任何指定的主机 我这个配置错了吗 以下是控制台输出和代码 using System using S
  • 单击一个元素突出显示其他元素

    单击另一个元素时有什么方法可以更改元素的属性吗 例如 考虑这种方法 我有一个像这样的链接 a href 100 Click me a 然后接近它我有这个 span class clickTarget Important text span
  • 如何根据 PHP 代码或 URL 方向的变化激活 CSS 属性?

    我使用 PHP 数组更改网站中的语言lang 当用户单击链接来更改网站的语言时 我希望此链接保持 按下 或更改为不同的颜色 以便用户知道他 她所在的网站版本 在这种情况下如何激活 CSS 属性 通用 php
  • 使用 Office Automation 时检查挂起的 Office 进程

    有没有办法在使用 Office Automation 时检查 Microsoft Office 进程 即 Word Excel 是否挂起 另外 如果进程挂起 有没有办法终止它 首先我要说的是 我不建议在服务器上的服务中执行此操作 但我会尽力
  • 在Numpy数组中如何找到一个值的所有坐标

    如果我想找到所有 3D 数组中最大值的坐标 如何找到它们 到目前为止 这是我的代码 但它不起作用 我不明白为什么 s set elements np isnan table numbers table elements biggest fl
  • GDI+支持图形加速吗?

    我正在尝试使用 C 和 Win API 为 Windows 平台编写屏幕保护程序 为了渲染图形 我使用 GDI 但问题是渲染带有少量动画 淡入和淡出 的 png 变得非常 CPU 繁重 所以我想知道是否有办法为 GDI API 启用 GPU
  • 使用 NetworkStream.WriteAsync 检测错误

    如果我在调用后杀死我的服务器Login完成后 调用时不会引发异常stream WriteAsync data 0 data Count 已完成 并且返回的任务中没有错误指示 那么 我应该如何检测错误呢 当然 应该有一些迹象表明我试图通过已挂
  • 在 JavaScript 中查找内容是否具有当前网站 url

    我正在使用 TinyMCE 作为编辑器 我想执行移动验证和 URL 验证 什么是不允许的 描述中不允许输入手机号码 仅允许在描述框中输入相同的应用程序 URL 如果用户输入其他网站网址 则会引发验证错误 我使用下面的代码来验证移动设备和 u
  • 是否可以从父级覆盖 iFrame 中的 javascript?如果是这样怎么办?

    我在我们的一款触摸屏应用程序中使用 Telerik RadSpell 控件 我已经设法将其样式设置得恰到好处 但是该死的东西使用 window alert 和 window confirm 来提示用户是否想要保留更改等 我想禁用这些警报 而
  • 将 Linq to SQL 代码迁移到 .Net Core

    我们有一些使用 Linq to SQL 作为 ORM 的遗留代码 我们希望将此逻辑迁移到 Net Core 以便我们可以将其放置在 Linux 服务器上 据我所知 L2S 不包含在 Net Core 中 阻力最小的迁移路径是什么 如果您使用
  • 将巨大的 xml 参数传递给存储过程的最佳方法

    实际上我正在尝试通过一个巨大的Xml到我的存储过程 但我总是得到一个输出of memory exception 因为我想通过string其大小限制为 2G 那么这样的事情有没有办法呢 不要使用XmlDocument 将 DOM 完全加载到内