草庐IT

windows-server-2012

全部标签

sql - XML 到 SQL Server 解析问题

我正在解析XML并尝试获取节点的所有属性/值。declare@XBLxml='JasonRoyKevin'SELECT[Type]=XC.value('(@type)[1]','varchar(25)'),[Name]=XC.value('(../Employee)[1]','varchar(30)')FROM@XBL.nodes('Root/Department/Employees/Employee')ASXTbl(XC)上述查询的输出为我提供了所有属性,但只有第一个值(Jason)。TypeNametempJasonpermJasontemp2Kevin预期输出:TypeNamet

sql-server - 在 SQL Server XML 数据类型查询中使用命名空间时出现问题

背景见这个问题:SQLServerXMLDataTypequeryissue我正在尝试查询SQLServer2005中的XML对象。当XML中没有定义命名空间时,查询工作正常。但是,当命名空间元素存在时,我似乎无法获取节点元素的值。这是一个例子:DECLARE@xmlWithNameSpaceXMLDECLARE@xmlWithoutNameSpaceXMLSET@xmlWithNameSpace='4444'SET@xmlWithoutNameSpace='4444'SELECTfeed.product.value('@id[1]','INT')ASproductIdFROM@xml

sql-server - XQuery 在单个 SQL 更新命令中添加或替换属性

我有一个带有XML列的表,我想更新xml以插入属性或更改属性值(如果属性已存在)。假设起始xml是:插入:UPDATETablesetXmlCol.modify('insertattributeatt{"1"}into/d[1]')改变:UPDATETablesetXmlCol.modify('replacevalueof/d[1]/@attwith"1"')如果属性已经存在,插入将失败,如果属性不存在,替换将失败。我曾尝试使用“if”,但我认为它行不通,出现错误:“XQuery[modify()]:‘attribute’附近的语法错误,应为‘else’。”如果尝试UPDATETabl

xml - 在 SQL Server 2008 R2 中压缩 XML 列

在SQLServer2008R2标准版中是否有直接压缩XML数据类型列的方法?我的约束是:SQLServer2008R2标准版;必须将原始XMl存储在数据库中;我之前问过一个关于广义文本存储的类似问题CompressingatextfieldinSqlServer2k8R2其结果是使用FILESTREAMS。如果我在这里这样做,虽然我会失去SQLServer公开的所有XML功能,但我想利用这些功能。 最佳答案 您始终可以将XML存储为NVARCHAR,然后在针对首先将数据转换为XML的列的View上使用XML功能。但是,您必须权衡运

xml - Windows Phone 7 - 加载一个大的 xml 文件

我正在尝试将xml文件加载到我的应用程序并将其显示在ListBox上。问题是xml文件大约5MB,在手机上加载大约需要40秒。当手机锁定屏幕并返回时,又需要40秒。我尝试使用isolatedstorage将数据存储在其上,但它并没有提高性能。这是我加载数据的代码:XDocumentloadedData=XDocument.Load("BigFile.xml");vardata=fromqueryinloadedData.Descendants("w")orderby(string)query.Element("e")selectnewmyClass{First=(string)quer

sql-server - 一次更新 sql server xml 数据字段上的多个属性

是否可以在一次更新中修改单个节点上的多个属性?我有类似的东西:我已经能够使用三个单独的更新来修改CAPTION、SIZE和WIDTH属性,但是我一直在徒劳地寻找某种方法将它们组合成一个更新。可能吗?我使用的更新示例:UPDATEtSET[column_name].modify('replacevalueof(/ENTITY/ATTR/@CAPTION)[1]with"NewAttributeCaption"')FROMtabletUPDATEtSET[column_name].modify('replacevalueof(/ENTITY/ATTR/@SIZE)[1]with"200"'

xml - VS 2012 语法高亮显示

我有2台运行VS2012专业版的计算机,它们都没有像我在VS2010中那样显示基于XML的文件的任何突出显示或着色。我安装的唯一快速版工具是SQL2012,所以我认为这不是问题所在。其中一台计算机上从未安装过WebMatrix1和2。我在这里几乎不知所措。 最佳答案 已修复。我不得不不止一次地重置环境。当我启动它时,每次都会导致VS的另一部分中断。最终,我已经重置了足够多的次数,现在一切正常了。使用“devenv/resetuserdata”重置VS以进行修复。 关于xml-VS2012

sql - 在 SQL 2005 和 SQL 2012 上使用 ELEMENTS XSINIL 时的不同行为

我在SQL2005(9.0.5057)和SQL2012(11.0.3128)之间有一个遗留问题。当我在SQL2005上运行以下示例SQL查询,然后在SQL2012上运行时,我得到了不同的结果:select0'test1/@old',null'test1',null'test2/@old',2'test2',2'test3/@old',2'test3',null'test4/@old',null'test4'FORXMLPATH('Data'),ELEMENTSXSINIL对于SQL2005,结果是:22对于SQL2012,结果是:22Test1是出现问题的地方。SQL2012的行为是正

sql-server - 在具有切碎/扁平 xml 字段的大表上更快地选择

给定一个包含如下记录的MSSQLEXPRESS2008R2表ArchiveIdScheduleIdData39106362....39106462....39106563....DataField中的XML结构如下1.02.03.04.0使用以下捕获进行选择的最快方法是什么查询需要返回超过200万行!由ScheduleId返回返回“数据”列Value节点切碎成列并为返回的每一行包含id字段archiveid和scheduleid每个ScheduleId的“值”元素的数量是可变的,但对于给定的ScheduleId总是相同的永远只有中的节点节点,它们总是数字表最多可以有5000万行,目前仅

sql-server - 将 varchar() 中的重音字符转换为 XML 导致 "illegal XML character"

我有一个应用程序写入的表。该字段是varchar(max)。数据看起来像xml。DECLARE@poitVARCHAR(100)SET@poit='VÍA'SELECTCONVERT(XML,@poit)但是(似乎是因为UTF8;删除它有效),我收到此错误:XMLparsing:line1,character46,illegalxmlcharacter有没有办法干净地转换它?我找到了这个线程,它讨论了varchar不支持“非ASCII字符”,但显然I是非unicode。是的,我可以这样做:SELECTCONVERT(XML,REPLACE(@poit,'encoding="utf-8"