草庐IT

sql-server - SQL Server 2008 中如何存储 xml 列?

我尝试了解SQLServer2008如何存储xml列以尝试估计我们产品中的表大小。我正在使用DATALENGTH(xml_column)运行一些测试,结果令人不安:Xmldocumentlength|Datalength|Bytespercharacter175|366|2.0915|38|2.53314|414|1.31很明显,xml列类型不是伪装的nvarchar(max),正如我在某处读到的那样。它可能被压缩并存储为二进制文件,但找不到任何地方。谁能解释一下xml列是如何存储在SQLServer2008中的? 最佳答案 XML

sql - 命名 TSQL 的 XML 结果列 "for xml explicit"?

我有一个使用forxmlexplit的查询来返回XML结果。选择...从...按[BatchType!1!TypeName]、[FormType!2!TypeName]、Tag、Parent排序对于xml显式,root('ClientImages')但是结果列名的名称和有没有办法更改列名?[答案]我有几个嵌套的WITH语句,所以我保存了查询结果,而没有将FORXMLEXPLICIT应用到临时表@xmlTable中,然后设置将XMLEXPLICIT结果转换为XML,然后将其返回。declare@xmlResultxmlset@xmlResult=(select*from@xmlTable

sql - 来自 SQL 列 : Cannot call methods on nvarchar(max) 的 XML

我有一个sql查询,它在我的列名上显示错误“无法调用nvarchar(max)上的方法”。SELECT[LEARNER_COURSE_XML_TEST].[XML_EX].Query('declarenamespacex="http://tempuri.org/cmi.xsd";](/x:cmi/x:core/x:time_taken)')ASTimeTakenFROM[LEARNER_COURSE_XML_TEST]问题似乎集中在[XML_EX].value上,但我尝试了一些方法,包括更改列类型,但我终于摆脱了困境。任何指针将不胜感激。 最佳答案

sql - 在 MS SQL 查询中将 XML 列转换为表数据。

在我的数据库的一个表中,我有一列,其中的整个条目是一个具有以下结构的长XML字符串:JohnDoe555-3421catman@gmail.com(+more)这是我的SELECT语句,这是它的输出:SELECTTheKey,TheDataFROMMyTable;SQLServerManagementStudio中的输出:TheKeyTheData10000JohnDoe893-3421catman@gmail.com10001MarySue381-2342thebestdude@gmail.com10002MarkDark312-7626mybook231@gmail.com1000

sql - 如何在 SQL Server 2005 中将列值用作用于 xml 的 xml 元素名称?

简化我正在做的事情,例如,假设我有以下表格:declare@elementstable(idint,namenvarchar(20))insertinto@elements(id,name)values(1,'FirstName')insertinto@elements(id,name)values(2,'Surname')insertinto@elements(id,name)values(3,'Address')declare@valuestable(idint,valuenvarchar(20),elementIdint)insertinto@values(id,value,el

ASP.NET XML 解析错误 : no element found Line Number 1, 第 1 列错误

嘿,我发现了一个奇怪的喜怒无常的页面,随机出现以下错误XMLParsingError:noelementfoundLocation:http://kj2011/site_2011/nonprofit-database/overview.aspxLineNumber1,Column1:这个页面在大约2周内都没有问题,但从昨天开始我随机收到上述错误。我要删除页面并重新创建错误消失了,但几个小时后会再次出现。我还有一些其他模板即http://kj2011/site_2011/nonprofit-database/financial.aspx它具有相同的主文件和用户控件,但永远不会只在over

sql - 从 SQL Server 2008 中查询 XML 列返回多行

我有一个表RDCAlerts,在名为AliasesValue的XML类型的列中包含以下数据:AKAPramodSinghAKABijoyBora我想创建一个返回两行的查询-每个别名一个,我尝试了以下查询:SELECTAliasesValue.query('data(/aliases/alias/aliasType)'),AliasesValue.query('data(/aliases/alias/aliasName)'),FROM[RdcAlerts]但它只返回这样一行:AKAAKA|PramodSinghBijoyBora 最佳答案

sql - 你如何读取 SQL Server 2008 中的 XML 列?

我从来没有在SQLServer2008中使用过XML,我需要将客户列表提取到一个变量表中,你是怎么做到的?鉴于我在Sales表中有一个名为CustomerList的列,如下所示,我如何在sql中提取客户列表?1MrSmith2MrBloggs 最佳答案 尝试这样的事情:SELECTCust.value('(ItemId)[1]','int')AS'ItemID',Cust.value('(Value)[1]','Varchar(50)')AS'CustomerName'FROMdbo.Sales.CustomerList.nodes

sql-server - 将 XML 数据分解为 SQL Server 数据库列的最佳方式

将XML数据分解成各种数据库列的最佳方法是什么?到目前为止,我主要是像这样使用节点和值函数:INSERTINTOsome_table(column1,column2,column3)SELECTRows.n.value('(@column1)[1]','varchar(20)'),Rows.n.value('(@column2)[1]','nvarchar(100)'),Rows.n.value('(@column3)[1]','int'),FROM@xml.nodes('//Rows')Rows(n)但是我发现即使是中等大小的xml数据,这也变得非常慢。

xml - 在 hibernate 中使用 Oracle XMLType 列

我需要将OracleXMLType列映射到hibernate实体类。有一个可行的(我认为是众所周知的)解决方案涉及实现UserType;但是,我无法使用它,因为需要导入Oraclexml解析器,这又会导致许多问题。我可以将xml列的值作为字符串访问并将转换留给操作实体的代码,但是我找不到从数据库中读取值并将其写入数据库的方法。到目前为止我尝试过的:将实体类中的属性声明为String.结果-值读取为null.如果属性只是Serializable,我得到“无法反序列化”异常。使用@Formula注释(CASTxmlColasvarchar2(1000))。结果-值未存储使用@Loader并