问题标签 [sqlxml]
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.
sql - 在 SQL Server 2008 存储过程中使用 OPENXML - INSERT 顺序与 XML 文档不同
我正在使用 SQL Server 2008 的 XML 解析能力来遍历 XML 文档并执行 INSERT 每个元素。
但是,我的存储过程似乎是以与文档中的顺序不同的顺序将每个元素插入到表中。
此外,我尝试这个的次数越多,INSERT 顺序似乎就会改变。
这是 XML 文档的一个示例——这里没有什么太花哨的东西。
存储过程发生了一些操作,但我已经注释掉了其他部分,只留下了插入<t/>
元素的 SQL,然后是<tv/>
元素。
存储过程中的SQL如下。
(@xmlTransaction
是NVARCHAR (MAX)
包含上述 XML 的输入参数)
应该是相当简单的。然而,如果我查询结果,它们的顺序与 XML 文档的顺序不同。元素的第二个 INSERT 语句确实<tv/>
以正确的顺序将元素存储到第二个表中,但这些 元素没有以正确的顺序存储在它们的表中。<t/>
谁能向我解释为什么 <t/>
元素没有按照它们在 XML 文档中出现的顺序插入到表中?
sql - 获取大型 (1 GB) xml 文件的有效架构
我需要将巨大的 xml 文件批量加载到 SQL Server 2005。我决定在我的 C# 应用程序中使用 SQLXMLBULKLOAD,但我需要获取这些 xml 文件的有效 xsd 模式来加载它们。哪个是生成 xsd 文件的最佳方法?我尝试了 MS VS xsd.exe,但它尝试将文件加载到内存中,这会导致 OutOfMemory 异常。
谢谢!
sql-server - 通过连接结果传递给 xml 值方法的参数
我正在粉碎视图中的 xml 列,并从该列中提取信息。我的视图当前正在 local-name((/*)[1] 上运行大型 CASE 语句以获取 XML 中根节点的名称,然后我正在钻入 xml 以根据 CASE 获取特定值.
例如
这个案例陈述非常庞大且笨拙。
我试图做的是在 CTE 中构建一个字典,其中包含我在 CASE 中评估的项目,然后是我想提供给 XML value 方法的参数值。例如,对于上面的示例,CTE 字典将包含以下内容(并且 CTE 正确连接到主外部查询中):
当我尝试在我的视图中使用 CTE 来避免 case 语句时,例如:
我收到以下错误: XML 数据类型方法“查询”的参数 1 必须是字符串文字。
所以简而言之,XML value 方法似乎需要一个常量字符串。有没有办法解决?
sql-server - SQL Server 中的 XML 批量加载问题
我正在尝试使用 XML 批量加载(sql server 2008)。我快到了,但我认为我的架构文件是错误的。我得到的错误是:
这是我所拥有的:
SQL表结构:
架构文件:
XML 文件:
我正在使用的 VBScript:
sql - XML 数据类型方法“值”必须是字符串文字
如何更改我的查询,以免发生此错误:
XML 数据类型方法“值”必须是字符串文字
T-SQL 代码:
.net - 如何在 Sql Server 2008 的 XML 列中的属性上使用 WHERE
这可能很简单,我只是没有正确使用大括号,但由于我几乎没有查询 SQL SERVER XML 数据的经验,这让我发疯了。
我有一个带有 XML 类型列NoSqlField的简单表。这包含 NULL 或
我想要表中所有在其NoSqlField列中具有 <entry key="mykey">1</entry> 值的行。
一个(相当愚蠢,因为它使用 .ToString())LINQ 查询使用
返回一个结果,所以它肯定存在。
如何在 T-SQL 中运行相同的查询?我试过了
在各种变体中(有和没有斜杠,完整路径,...),但从未得到一个返回的行。
c# - C# SQLXMLBulkLoad4Class - 循环中的 SQLConnection 后跟崩溃
我有一段代码即使在循环中也能完美运行。该块将连接,抓取一个 xml 文件,并将其加载到数据库中,如果在循环中将对源目录中的所有 xml 文件执行此操作。
我的挑战是我需要处理新导入的数据。因此,作为同一循环的一部分,我调用其他块,例如:
现在这个块也可以工作 - 第一次通过循环。如果这个块存在,第一个 xml 文件将被加载,并被这个块改变,那么当循环开始在第二个文件上时,它将在 objBL 处出错。执行此错误:
然后,我需要删除数据库,然后重新附加它以便能够访问它。我认为这个错误来自一个保持打开的连接,但我找不到。我什至添加了:destination.Close(); GC.Collect(); GC.WaitForPendingFinalizers();
认为这是我所缺少的,但没有这样的运气。
谁能给我一个关于我在这里俯瞰什么的提示?
谢谢你。
sql-server - sql server xml同时删除两个属性
我发现以下内容显示了如何在 SQL Server 中从 XML 中删除属性:如何从 sql server 2008 中的 XML 变量中删除属性?
但我想一次删除两个属性。我尝试了类似以下的方法:
但是我收到一个错误,即在更新期间不能多次修改同一列。有没有办法在一次语句中删除两者,或者我应该只运行两个单独的更新?
sql - 带有 xmlagg 函数的 SQL 多 SELECT 查询 - 未以所需方式提取数据
我在 Oracle 中的数据是这样的
我需要以这种方式提取数据
我的查询如下
显示的结果是
如何提取第二张表中的数据?我的 sql 查询中的错误是什么?
sql - 根据sql xml中的父xml检索嵌套的父子xml
我在SQL XML中有以下代码。我需要将父元素插入到 SQL XML 中的父元素中。
我有下表。
这是我的 SQL XML 语句
结果如下
我希望以下结果是类和标记标记包含在另一个标记中:
知道如何去做吗?
谢谢!