草庐IT

text-to-sql

全部标签

xml - xlsx 错误 : "Removed Records: Named range from/xl/workbook.xml part" when tried to resolve errors

我有一个使用SSIS生成的xlsx文件。此文件的数据是通过数据流任务写入的,其中xlsx文件是oledb目标。我使用以下连接字符串作为OLEDB连接的表达式:"Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+@[User::ExcelPath]+";ExtendedProperties=\"Excel12.0Xml;HDR=YES\";"文件在数据流任务之前打开得很好。数据流任务完成后,得到如下对话框:当我单击"is"时,我收到另一条消息:xml文件的内容是error072840_02.xmlErrorsweredetectedinfile

sql - 如何从 SQL Server 中的 XML 值获取元素名称列表

我在SQLServer2k8中有一个包含XML列的表。以下SQL检索一些XML:SELECTTOP1my_xml_columnFROMmy_table假设它返回以下XML我想得到的是/a/a/b/a/c/a/c/d/a/e换句话说,我怎样才能让SQLServer告诉我XML的结构?我可以执行以下操作来获取各个元素的所有名称:SELECTC1.query('fn:local-name(.)')FROMmy_tableCROSSAPPLYmy_xml_column.nodes('//*')AST(C1)也许如果有一个等价于“local-name()”的返回元素的完整路径的方法,就可以做到这

xml - xsl : How to select the first x number of characters in a node?

我在XML文档中有以下节点:Thisissometext.我想选择文本的前10个字符。我该怎么做? 最佳答案 您可以使用substring函数来选择前10个字符。希望对你有帮助 关于xml-xsl:Howtoselectthefirstxnumberofcharactersinanode?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5874701/

sql-server - CTE 和 FOR XML 生成嵌套的 XML

我在数据库中有一个邻接表,想通过SQLSP将XML格式的数据传递给客户端。我正在尝试使用CTE和FORXML,但我没有让XML节点嵌套。仅供引用,这将代表站点地图。表结构:CREATETABLE[dbo].[PageHierarchy]([ModuleId][int]NOTNULL,[PageId][int]IDENTITY(1,1)NOTNULL,[ParentPageId][int]NULL,https://www.coder.work/article/1001039[nvarchar](100)NULL,[PageTitle][nvarchar](50)NOTNULL,[Page

sql-server - 如何从 SQL Server 获取 ROOT 节点名称

我有一个表,其中ID是integer而XML是XML数据类型。IDXML----------------------1...2...3...4...如何得到下面的结果?IDXML-------------1Form12Form13Form24Form3 最佳答案 使用local-name()函数selectID,XML.value('local-name(/*[1])','varchar(100)')fromyourtable 关于sql-server-如何从SQLServer获取ROO

sql - 在 T-SQL 查询中,仅需要获取根元素的属性名称-值对

我创建了一个表值函数,它根据BenDavis的出色响应here在提供XML片段时返回属性名称-值对列表。.它有效,但返回整个片段中所有属性名称-值对的列表,当我想将其限制为仅根元素上的那些时。我怎样才能做到这一点?谢谢,来自XQuery新手。INSERTINTO@attributeListSELECTDISTINCTCAST(attribute.name.query('local-name(.)')ASVARCHAR(100)),attribute.name.value('.','NVARCHAR(MAX)')FROM@xml.nodes('//@*')attribute(name)预

sql - 从 SQL 查询生成的 KML 文件保存到本地驱动器

我的SQL查询生成XML输出:select'TEST.kml'asname,(select'TEST'asname,(select(selecttop10issueasname,nullasdescription,nullas'Point/coordinates',(selectnullasaltitudeMode,Coordinatesas'coordinates'forxmlpath('Polygon'),type)fromMappingforxmlpath('Placemark'),type))forxmlpath('Line'),type)forxmlpath('Doc'),r

xml - SQL "For XML Path"- 嵌套结果

我有这个表结构。YearPart、MonthPart和DatePart包含它们描述的内容...例如:2011、1、19(分别)DECLARE@agendaASTABLE(PIDINTIDENTITY(1,1)PRIMARYKEY,YearPartint,MonthPartint,DayPartint,lib_titlenvarchar(200),[filename]nvarchar(255),meta_valuenvarchar(2000))使用此示例数据:INSERTINTO@agendaVALUES(2010,12,4,'TestRecord','','')INSERTINTO@a

.net - 检查节点是否存在报错 "Expression must evaluate to a node-set"如何解决?

我正在尝试使用以下.NET代码检查节点是否存在:xmlDocument.SelectSingleNode(String.Format("//ErrorTable/ProjectName/text()='{0}'",projectName));这总是引发:XPathException:Expressionmustevaluatetoanode-set.为什么会出现此错误,我该如何解决?谢谢。 最佳答案 给定的表达式计算为bool值,而不是节点集。我假设您想检查ProjectName是否等于参数化文本。在这种情况下你需要写//Error

sql-server - 为什么从 XML 变量插入选择变量表这么慢?

我正在尝试将XML文档中的一些数据插入到变量表中。令我震惊的是,相同的select-into(批量)立即运行,而insert-select需要很长时间,并使SQLServer进程在查询执行时负责100%的CPU使用率。我查看了执行计划,确实存在差异。insert-select添加了一个额外的“Tablespool”节点,即使它没有分配成本。然后“表值函数[XML阅读器]”得到92%。使用select-into,两个“表值函数[XML阅读器]”各获得49%。请解释“为什么会这样”和“如何(优雅地)解决这个问题”,因为我确实可以批量插入到临时表中,然后依次插入到变量表中,但这太令人毛骨悚然