草庐IT

synpipe_server

全部标签

sql-server - XML 到 SQL 的映射

我们正在寻找一种方法来解析大量符合严格模式(特别是thisone)的XML文件。我们要做的就是在几个数据库表和XML文件之间创建一对一的数据映射,所以我们可以在我们的web服务软件包插入文件的表上设置一个触发器,然后自动解析它并插入按照我们的定义将数据存入数据库。在Microsoft的SQLServer和类似领域内实现这一目标的最佳方法是什么? 最佳答案 您可以使用SQLXML批量加载4.0将您的XML文件批量加载到SQLServer表中。SQLXMLbulkload对象使用XML数据文件和架构文件。SCHEMA(XSD或XML)文

sql-server - TSQL - XML 查询帮助

我有一个这种格式的XML181test1252test2使用TSQL/XML查询我如何获得这个结果[Testid][TestVal][TestName]18Test125Test2 最佳答案 试试这个:declare@inputXML='181test1252test2'selectTests.value('(testid)[1]','int')as'TestID',Tests.value('(testval)[1]','int')as'TestVal',Tests.value('(testname/testname)[1]','v

sql-server - SQL Server 2005查询XML时,文档的多个标签在同一行

更新以提供澄清这是我遇到问题的其中一个xml文件的完整副本。16SA1611030BRWNTYPESA1611030B12011-03-01T12:59:30BODYBodyStart2011-03-01T17:11:30228.191337.091243.0056.10MidBody2011-03-01T17:11:30228.191337.091243.0056.10TailStart2011-03-02T01:34:24230.401338.201243.4056.392011-03-02T01:35:24SA1611030B92011-03-02T04:02:37BODYBod

sql-server - TSQL 用于 XML 显式

无法获得所需的XML输出以下内容:SELECT1asTag,0asParent,sIDas[Document!1!sID],docIDas[Document!1!docID],nullas[To!2!value]FROMdocSVsyswith(nolock)wheredocSVsys.sID='57'UNIONALLSELECT2asTag,1asParent,sID,NULL,valueFROMdocMVtextWHEREdocMVtext.sID='57'ORDERBY[Document!1!sID],[To!2!value]FORXMLEXPLICIT;产生:我想要的是:3.8

sql-server - 在 SQL Server 的单个 XQuery 中删除多个节点

我有:具有xml类型列(ID列表)的表xml类型参数(也是ID列表)从列中删除与参数中的节点匹配的节点,同时保持任何不匹配的节点不变的最佳方法是什么?例如declare@tabletable([column]xml)insert@table([column])values('123')declare@parameterxmlset@parameter='12'--thisistheproblemupdate@tableset[column].modify('delete(//i*wheretext()matches@parameter*)')MSDN文档表明它应该是可能的(在Intro

sql-server - 将文本安全转换为 XML

我在SQLServer2005数据库中有超过一百万行,其中一个文本列包含XML字符串。我想将文本转换为XML数据类型以提取部分数据。问题是有些记录在转换时会抛出错误(即无效的XML)。我如何才能忽略这些错误,以便正确转换所有有效的XML并将无效的XML存储为null? 最佳答案 在类似情况下,我将XML列添加到与文本列相同的表中。然后我使用RBAR进程尝试将“XML”从文本列复制到新的XML列(不是最快的但提交单次写入,这将是一次性的事情,对吧?)。这是假设您的表具有int数据类型的PK。declare@minidint,@maxi

sql-server - SQL Server 'FOR XML' 获取值到 "row"元素节点

这是另一个“forxml”问题,但我不确定这是否可以在没有显式模式的情况下完成。如果不能,那我就只能忍受了。目前我的select语句如下:SELECT[stream_id]as'@stream_id',[path_locator]as'@path_locator',[parent_path_locator]as'@parent_path_locatr',[file_type]as'@file_type',[cached_file_size]as'@cached_file_size',[creation_time]as'@creation_time',[last_write_time]a

sql - 从 MS-SQL Server 2008 中的 XML 字段中提取值

我正在尝试从存储在单个XML字段中的MS-SQLServer2008数据库中提取四条信息。这是我第一次不得不使用XML,所以我遇到了一些麻烦,这就是为什么我只有我试图提取的数据。我曾尝试使用其他帖子来解决我的问题,但显然没有成功。这四个信息首先是“项目经理”,然后是“值(value)”,然后是“利润中心”,然后是那个值(value)。来自“利润中心”的值将用于在两个表之间进行连接。下面是存储在此字段中的XML数据示例。ProjectManagerDBDProfitCenter211所以在这个例子中,我需要使用“利润中心”值“211”在MS-SQL查询中连接两个表。该信息可以称为“tbl

sql-server - 设计用于在 SQL Server 2008 R2 中存储 XML 数据的表

我计划使用SQLServer为我的应用程序存储XMLBLOB。我正在为设计决策而苦苦挣扎,并正在寻找对该主题有经验的人的任何指导或建议。需要存储为XML的数据有100个左右的简单数据点。它们可以很容易地分为每组大约20个数据点。在未来的应用程序版本中,我们计划通过添加新的数据点来增加数据的范围,其中一些数据点将是分层的(列表、字典等)。我们预计不需要对XML数据执行查询。最多它们将是非常简单的查询,如果需要,我们可以将任何数据点提升到关系列。我不确定是否应该只创建一个巨大的XMLBLOB来保存所有这些数据,或者是否应该将其分解为多个XML列。在SQLServer2008R2中处理XML

sql - 使用 FOR XML 从 SQL Server 2008 R2 返回空字段或空字段作为 <element/>

我正在使用FORXMLPATH从SQLServer2008R2运行查询。我唯一的问题是我希望所有元素都出现,即使它们是NULL并且我希望空(或null)元素返回为不像 最佳答案 您可以在字段列表中的子查询中查询字段,使用forxml,创建空元素的两个版本。declare@Ttable(IDintidentityprimarykey,Namenvarchar(10))insertinto@T(Name)select'Name1'unionallselectnullunionallselect'Name2'selectID,(selec